home *** CD-ROM | disk | FTP | other *** search
/ Aminet 19 / Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso / Aminet / comm / bbs / FList_211.lha / FList / Rexx / flist.trans next >
Text File  |  1997-04-05  |  109KB  |  3,798 lines

  1. /**/
  2. /* ----------------------------------------------------------------------- */
  3. /*
  4. o
  5. o  $VER: FList v2.11 - S.Gillibrand 1997
  6. o  FList - Copyright S.Gillibrand (c) 1994-1997
  7. o  
  8. o  Spaceman, Always wanted you to know, Get into space man, Intergalactic christ.
  9. o  Spaceman, Spaceman, Spaceman, Spaceman, Dueueuebebebbbbbbbbbburr.
  10. o  
  11. o  Babylon Z00 Respect To You :-) <Ya Genuis Ya #)>
  12. o  
  13. o  Let the junglist vibe take you in, No time to stop ya just gotta spin.
  14. o  Respect, Respect is due.
  15. o
  16. o  RESPECT f8 (Oh my gosh the one and only) (FUCKING MAJIC U4IA MAN! >8*])
  17. o
  18. o  Hey PRODiGY! Keep F**king The Law! - It's The Only Way To Be :-)
  19. o
  20. o  A Digital Design Production in 1997.
  21. o
  22. o  Greets/Threats:
  23. o  
  24. o   t00nz     : (Have you got a blocked nose? %)) Try and beat this with "File X" :-)
  25. o   Rmerlin   : (FScroller) Respect m8... Expect I'll see you on the IRC :-)
  26. o   Greg (MFP): Don't even try :-)
  27. o   FileMaint : hehehahehaaa <Sorry>
  28. o   FileLister: Erm, What is this programme supposed to do :/?
  29. o  
  30. o  [ (: Well I'm Only 18 :) - Hormones flying allover / etc. :)( ]
  31. o  
  32. o  Emails:
  33. o  
  34. o   psychoed@digitald.demon.co.uk or sysop@digitald.demon.co.uk to send ME mail :)
  35. o   bugsddes@digitald.demon.co.uk for Bug Reports on Digital Design Software
  36. o   imprddes@digitald.demon.co.uk for Improvement Suggestions on DD Software
  37. o   respddes@digitald.demon.co.uk to Congratulate DDesign On Their Excellent s/w :)
  38. o   bastddes@digitald.demon.co.uk to Send Hate Mail About DDesign Software :))
  39. o   NIL:                          for All PC/Windows Related Topics. (Amiga OS)
  40. o   NUL                           for All PC/Windows Related Topics. (MSDos)
  41. o   /dev/null                     for All PC/Windows Related Topics. (Unix OS)
  42. o  
  43. o  FTS:
  44. o  
  45. o   2:250/602.0                   To Route Mail To My BBS
  46. o  
  47. o  Requests:
  48. o  
  49. o   Anyone who HAS or HAS MADE any song by the Prodigy then crash/uuencode to
  50. o   me :-)
  51. o  
  52. o  BBS:
  53. o  
  54. o   Digital Dreams Amiga BBS UK (DD WHQ) - 44-1772-454995 24 Hours 10000++ Files
  55. o                                          TransAmiga - 68030/50Mhz - QUAD CDRom
  56. o                                          1Gig HDD - Speeds Up To 14k4
  57. o   FREQS 24 Hours Except ZMH
  58. o  
  59. o  Goodbye:
  60. o  
  61. o   Thanx For Using DDesign Software.. We KNOW You'll Like It So We Don't Expect
  62. o   Any Bug Reports/Death Threats :-) - Look Out For More DDSW
  63. o  
  64. o   Best Place To Get To It First Is MY BBS And The Aminet (Comm/BBS), TAFILES
  65. o   Fidonet File ECHO and TLT On 0181-2416442 (Big Powerful TA Board 8)
  66. o   - Thanx Tom!)
  67. o
  68. o   FList is ENTIRELY coded by Stuart Gillibrand except for the CaseConvert,
  69. o   Time Routines and TrapGhost that have dedications to the author just before
  70. o   them.
  71. o
  72. o   Jamie: The FLAiR is coming at you with that nice chip for ya 14 pin :)))
  73. */
  74. /* ----------------------------------------------------------------------- */
  75.  
  76. if ~show(L,'rexxsupport.library') then
  77.    call addlib('rexxsupport.library',0,-30,0)
  78.  
  79. call defcfg
  80.  
  81. si=systeminfo
  82. ui=userinfo
  83. gc=getchar
  84. sl=sysoplog
  85.  
  86. Options Results
  87. Options Failat 9999
  88.  
  89. Signal On Syntax
  90. Signal On Break_C
  91. Signal On Break_D
  92. Signal On Break_E
  93. Signal On Break_F
  94.  
  95. flistversion="2.11"
  96. ver$="v"flistversion
  97.  
  98. BLK=""
  99. RED=""
  100. GRN=""
  101. YEL=""
  102. BLU=""
  103. PNK=""
  104. CYN=""
  105. WHT=""
  106. BLD=""
  107. UBLD=""
  108. ITL=""
  109. UND=""
  110. clr=""
  111. FSH=""
  112. INV=""
  113. BBLK=""
  114. BRED=""
  115. BGRN=""
  116. BYEL=""
  117. BBLU=""
  118. BPNK=""
  119. BCYN=""
  120. BWHT=""
  121. KL=""
  122.  
  123. newline
  124. send "[FList] Loading language file..."
  125. err=time('r')
  126. call open(in,'bbs:configs/flist.lang','r')
  127. do i=1 to 427
  128.     lang.i=readln(in)
  129. end
  130. call close(in)
  131. print time('e')' seconds'
  132. newline
  133.  
  134. cls
  135.  
  136. sl clr||bld"[FList] "ver$" "lang.1||clr
  137.  
  138. optsline="|A|C|D|E|F|H|I|K|L|M|N|O|P|Q|R|S|T|V|W|X|Y|Z|2|4|6|8|!|*|-|+|=|?|.|/|\|%|"
  139. ui 'x'
  140. ansi=upper(result)
  141. if ansi="OFF" then do
  142.     print "ÜÄÄÜ ÄÜÄÜÄÄÄÜÄ¿"
  143.     print "Û  Û  Û Û   Û"
  144.     print "ÛÄ Û  Û ßßÛ Û "ver$
  145.      send "Û  ÛÜÜÛÜÜÜÛ Û (c) S.Gillibrand 1997 - Digital Design"
  146.     newline;newline
  147.     queryy lang.2
  148.     if upper(Result)="Y" then do
  149.         listfiles
  150.         BLK=""
  151.         RED=""
  152.         GRN=""
  153.         YEL=""
  154.         BLU=""
  155.         PNK=""
  156.         CYN=""
  157.         WHT=""
  158.         BLD=""
  159.         ubld=""
  160.         ITL=""
  161.         UND=""
  162.         clr=""
  163.         FSH=""
  164.         INV=""
  165.         BBLK=""
  166.         BRED=""
  167.         BGRN=""
  168.         BYEL=""
  169.         BBLU=""
  170.         BPNK=""
  171.         BCYN=""
  172.         BWHT=""
  173.         KL=""
  174.         signal boomtown
  175.     end
  176.     cls
  177. end
  178.  
  179. print BLD||CYN"ÜÄÄÜ ÄÜÄÜÄÄÄÜÄ¿"
  180. print clr||CYN"Û  Û  Û Û   Û"
  181. print BLD||BLU"ÛÄ Û  Û ßßÛ Û "GRN||ver$||ubld"  http://www.digitald.demon.co.uk/"
  182.  send clr||BLU"Û  ÛÜÜÛÜÜÜÛ Û "BLD||YEL"(c) S.Gillibrand 1997 - Digital Design"RED"   "
  183. send lang.3||cyn||bld
  184.  
  185. newline;newline
  186.  
  187. print clr||grn"::[ "fsh||lang.4||clr||grn" ]::"
  188.  
  189. call open(hint,'bbs:configs/FList.hints','r')
  190. hintnum=compress(readln(hint))
  191. do hnt=1 to hintnum
  192.     cookie.hnt=readln(hint)
  193. end
  194. call close(hint)
  195. fortune=random(1,hintnum,right(time(),2))
  196. print clr||grn||bld||cookie.fortune
  197.  
  198. address command "wait "defwait" secs >NIL:"
  199.  
  200. maygetchar
  201. if upper(result)="Q" then exit
  202.  
  203. t=0
  204.  
  205. err=time('r')
  206.  
  207. Call Open(In,'BBS:Configs/FList.Cfg','R')
  208. accept=0
  209. extdir=0
  210. do until eof(in)
  211.     data=upper(readln(in))
  212.     if left(data,1)~="@" then iterate
  213.     if data="@END" then leave
  214.     select
  215.         when data="@RESTRICTACCESSFLAGS" then do
  216.             data1=readln(in)
  217.             data2=readln(in)
  218.             RESTRICTACAGS.data1.data2=readln(in)
  219.         end
  220.         when data="@RESTRICTFLAGS" then do
  221.             data2=readln(in)
  222.             RESTRICTFLAGS.data2=readln(in)
  223.         end
  224.         when data="@RESTRICTACCESS" then do
  225.             data2=readln(in)
  226.             RESTRICTACCESS.data2=readln(in)
  227.         end
  228.         when data="@SYSOPMENU" then lameacc=readln(in)
  229.         when data="@SYSOPFUNCTMOVE" then sysopmovetaxx=readln(in)
  230.         when data="@SYSOPFUNCTDEL" then sysopdeltaxx=readln(in)
  231.         when data="@SYSOPFUNCTCOPY" then sysopcopytaxx=readln(in)
  232.         when data="@SYSOPFUNCTXTERN" then sysopterntaxx=readln(in)
  233.         when data="@SYSOPFUNCTDESC" then sysopdesctaxx=readln(in)
  234.         when data="@SYSOPFUNCTPATH" then sysoppathtaxx=readln(in)
  235.         when data="@SYSOPFUNCTEXE" then sysopexetaxx=readln(in)
  236.         when data="@SYSOPFUNCTICE" then sysopicetaxx=readln(in)
  237.         when data="@SYSOPFUNCTNUKE" then sysopnketaxx=readln(in)
  238.         when data="@SYSOPFUNCTOUCH" then sysoptchtaxx=readln(in)
  239.         when data="@SYSOPFUNCTIPRT" then sysopimptaxx=readln(in)
  240.         when data="@USRPATH" then usrpath=readln(in)
  241.         when data="@BINPATH" then binpath=readln(in)
  242.         when data="@CFGPATH" then cfgpath=readln(in)
  243.         when data="@TXTPATH" then txtpath=readln(in)
  244.         when data="@PALETTEPATH" then pltpath=readln(in)
  245.         when data="@SAVEDLPATH" then sdlpath=readln(in)
  246.         when data="@PASSWORDPATH" then pswpath=readln(in)
  247.         when data="@TAVERSION" then taversion=readln(in)
  248.         when data="@DEFWAIT" then defwait=readln(in)
  249.         when data="@TEMPATH" then tempath=readln(in)
  250.         when data="@FPMPATH" then fpmpath=readln(in)
  251.         when data="@FILECOL" then col_file=""readln(in)"m"
  252.         when data="@SIZECOL" then col_size=""readln(in)"m"
  253.         when data="@DATECOL" then col_date=""readln(in)"m"
  254.         when data="@DESCCOL" then col_desc=""readln(in)"m"
  255.         when data="@MAINBARCOL" then col_bar=""readln(in)"m"
  256.         when data="@MAXCLOCK" then maxclock=upper(readln(in))
  257.         when data="@SCRLMETHOD" then sfmeth=readln(in)
  258.         when data="@PRECOMMEXE" then precommexe=readln(in)
  259.         when data="@MULTIPLUG" then plugik=readln(in)
  260.         when data="@USERHELP" then userhelp=upper(readln(in))
  261.         when data="@LOGGING" then loggo=upper(readln(in))
  262.         when data="@TIMESTATS" then tsts=upper(readln(in))
  263.         when data="@NUKEMAIL" then tgmailpath=readln(in)
  264.         when data="@HELPHIM" then failedcmd=readln(in)
  265.         when data="@AREACOMM" then areacomm=upper(readln(in))
  266.         when data="@ENLARGEMARK" then enlargemark=upper(readln(in))
  267.         when data="@FLISTCACHE" then flistcache=upper(readln(in))
  268.         when data="@FPMCOUNT" then fpmopt=upper(readln(in))
  269.         when data="@ASSIGNOUTPUT" then assignoutput=readln(in)
  270.         when data="@MONTHNAMES" then do cosmicgirl=1 to 12
  271.             mname.cosmicgirl=readln(in)
  272.         end
  273.         otherwise nop
  274.     end
  275. end
  276. Call Close(in)
  277. if loggo="OFF" then sl=""
  278.  
  279. z=time('e')
  280.  
  281. if flistcache="ON" then print "8H"clr||pnk"úþ "bld||lang.5||ubld" þú"
  282. else print "8H"clr||pnk"úþ "bld||lang.6||ubld||pnk" þú"
  283.  
  284. do 6;newline;end
  285.  
  286. if tsts="ON" then print clr||bld||lang.7||z;t=t+z
  287.  
  288. err=time('r')
  289.  
  290. maxmark=10
  291. geniushaha.01=lang.8
  292. geniushaha.02=lang.9
  293. geniushaha.03=lang.10
  294. geniushaha.04=lang.11
  295. geniushaha.05=lang.12
  296. geniushaha.06=lang.13
  297. geniushaha.07=lang.14
  298. geniushaha.08=lang.15
  299. geniushaha.09=lang.16
  300. geniushaha.10=lang.17
  301. geniushaha.11=lang.18
  302. geniushaha.12=lang.19
  303.  
  304. do i=1 to 12
  305.     monk=right(i,2,'0')
  306.     nolf=upper(geniushaha.monk)
  307.     geniusahah.nolf=monk
  308. end
  309.  
  310. z=time('e');if tsts="ON" then print clr||bld||lang.20||z;t=t+z
  311.  
  312. err=time('r')
  313.  
  314. if right(tempath,1)~="/"&right(tempath,1)~=":" then tempath=tempath'/'
  315. if right(fpmpath,1)~="/"&right(fpmpath,1)~=":" then fpmpath=fpmpath'/'
  316. if right(pltpath,1)~="/"&right(pltpath,1)~=":" then pltpath=pltpath'/'
  317. if right(sdlpath,1)~="/"&right(sdlpath,1)~=":" then sdlpath=sdlpath'/'
  318. if right(pswpath,1)~="/"&right(pswpath,1)~=":" then pswpath=pswpath'/'
  319. if right(txtpath,1)~="/"&right(txtpath,1)~=":" then txtpath=txtpath'/'
  320. if right(cfgpath,1)~="/"&right(cfgpath,1)~=":" then cfgpath=cfgpath'/'
  321. if right(binpath,1)~="/"&right(binpath,1)~=":" then binpath=binpath'/'
  322. if right(tgmailpath,1)~="/"&right(tgmailpath,1)~=":" then tgmailpath=tgmailpath'/'
  323.  
  324. call checkpath(tempath)
  325. call checkpath(fpmpath)
  326. call checkpath(pltpath)
  327. call checkpath(sdlpath)
  328. call checkpath(pswpath)
  329. call checkpath(txtpath)
  330. call checkpath(cfgpath)
  331. call checkpath(binpath)
  332. call checkpath(tgmailpath)
  333.  
  334. z=time('e');if tsts="ON" then print clr||bld||lang.21||z;t=t+z
  335.  
  336. err=time('r')
  337.  
  338. call open(in,cfgpath'File.Cfg','R')
  339. dummy=readln(in)
  340. maxmark=compress(readln(in))
  341. if maxmark="" then maxmark=50
  342.  
  343. ui 'q'
  344. filesup=result
  345. ui 's'
  346. filesdn=result
  347. ui '7'
  348. usratio=result
  349.  
  350. if usratio~=0 then bian=((usratio*filesup)-filesdn)+usratio
  351. else bian=65536
  352.  
  353. dummy=readln(in)
  354. areas=readln(in)
  355. do j=1 to areas
  356.     da=readln(in)
  357.     apat.da=readln(in)
  358.     npat.j=apat.da
  359.     do 6;d=readln(in);end
  360. end
  361.  
  362. Call Close(in)
  363. z=time('e');if tsts="ON" then print clr||bld||lang.22||z;t=t+z
  364.  
  365. err=time('r')
  366.  
  367. tbpline="FList "ver$" (C) S.Gillibrand 1997 - Digital Design"
  368. if plugik="OFF" then tbpliner=grn||bld||tbpline
  369. else do
  370.     tbpliner=""
  371.     coy=0
  372.     do iii=1 to length(tbpline)
  373.         coy=coy+1
  374.         if coy=1 then ccode=clr
  375.         if coy=2|coy=6 then ccode=clr||cyn
  376.         if coy=3|coy=5 then ccode=bld||cyn
  377.         if coy=4 then ccode=bld||wht
  378.         if coy=7 then do;coy=0;iii=iii-1;iterate;end
  379.         tbpliner=tbpliner||ccode||substr(tbpline,iii,1)
  380.     end
  381. end
  382.  
  383. z=time('e');if tsts="ON" then print clr||bld||lang.23||z;t=t+z
  384.  
  385. err=time('r')
  386.  
  387. zeon=areas
  388.  
  389. bebob=1
  390. rotm=1
  391. scrln=1
  392. pageno=1
  393. pages=1
  394. BBSIDENTIFY sysop
  395. bbsysopname=result
  396. bbsidentify name
  397. bbsname=result
  398. BBSIDENTIFY TERM
  399. lres=result
  400.  
  401. checkoffline=0
  402. mkf=0
  403. bad=0
  404. markstring=""
  405. showopts=1
  406. si 'z'
  407. areaname=result
  408. areapath=apat.areaname
  409. path=upper(areapath)
  410.  
  411. ui 'v'
  412. screenln=result
  413. ui 'o'
  414. useraccess=result
  415. si 'r'
  416. bpsrate=result
  417. ui 'a'
  418. username=result
  419. ui 'x'
  420. ansi=result
  421. ui 'g'
  422. userflags=result
  423. systeminfo '8'
  424. bbsline=result
  425.  
  426. scrln=screenln-8
  427. if scrln<2 then scrln=2
  428.  
  429. crvar=x2c('0A')
  430.  
  431. kon=clr
  432. if col_bar="" then kon=clr||und
  433.  
  434. z=time('e');if tsts="ON" then print clr||bld||lang.24||z;t=t+z
  435.  
  436. err=time('r')
  437.  
  438. do i=1 to 8
  439.     if substr(userflags,i,1)="-" then userflags=overlay('O',userflags,i,1)
  440. end
  441.  
  442. z=time('e');if tsts="ON" then print clr||bld||lang.25||z;t=t+z
  443.  
  444. err=time('r')
  445.  
  446. address command "assign FLIST: Exists >"tempath"FLIST_CHECK_ASSIGN"bbsline
  447. Open(asscheckin,tempath"FLIST_CHECK_ASSIGN"bbsline,'R')
  448. dummy=readln(asscheckin)
  449. noneed=0
  450. do until eof(asscheckin)
  451.     If ~carrier then signal boomtown
  452.     if pos("FLIST",upper(Readln(asscheckin)))>0 then noneed=1
  453. end
  454. close(asscheckin)
  455. call checkpath("FILE:FList")
  456. if noneed=0 then address command "Assign FLIST: FILE:FLIST Add >NIL:"
  457.  
  458. z=time('e');if tsts="ON" then print clr||bld||lang.26||z;t=t+z
  459.  
  460. err=time('r')
  461.  
  462. if Open(Out,pltpath||username'.PLT','R') then do
  463.     red=readln(out)
  464.     grn=readln(out)
  465.     yel=readln(out)
  466.     blu=readln(out)
  467.     pnk=readln(out)
  468.     cyn=readln(out)
  469.     wht=readln(out)
  470.     Call Close(out)
  471. end
  472.  
  473. z=time('e');if tsts="ON" then print clr||bld||lang.27||z;t=t+z
  474.  
  475. err=time('r')
  476.  
  477. psw="­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"
  478. if exists(pswpath||username'.PSW') then do
  479.     tries=0
  480.     sl "[FList] "lang.28
  481.     if tsts="ON" then newline
  482.     print clr||CYN"þ"bld" "lang.29
  483.     do forever
  484.         newline
  485.         If ~carrier then signal boomtown
  486.         prompt 30 'HIDE' '"'clr||RED'ú 'BLD||lang.30||yel': 'bblu||cyn'                              D"'
  487.         epsw=upper(Result)
  488.         Address Command 'LIST "'pswpath||username'.PSW" NOHEAD >'tempath'FLISTPSW'bbsline
  489.         Call Open(Pswin,tempath'FLISTPSW'bbsline,'R')
  490.         dummy=readln(pswin)
  491.         pw=readln(pswin)
  492.         Call Close(pswin)
  493.         psw=right(pw,length(pw)-2)
  494.         if epsw~=upper(psw) then do
  495.             newline
  496.             print clr||pnk"ú "lang.31
  497.             tries=tries+1
  498.             sl "[FList] "tries" "lang.32
  499.             if tries=3 then do;sl "[FList] "lang.33;signal boomtown;end
  500.         end
  501.         if epsw=upper(psw) then leave
  502.     end
  503.     sl "[FList] "lang.34
  504.     newline;send cyn
  505.     if tsts="ON" then newline
  506. end
  507.  
  508. z=time('e');if tsts="ON" then print clr||bld||lang.35||z;t=t+z
  509.  
  510. err=time('r')
  511.  
  512. lstmarkedfiles tempath"Cool.FList"bbsline
  513. If exists(tempath"Marked"bbsline) then do
  514.     if exists(tempath"Cool.FList"bbsline) then do
  515.         print clr||yel"þ"bld" "lang.36||clr
  516.         newline
  517.         send cyn
  518.         Call Open(Bagman,tempath"Cool.FList"bbsline,'R')
  519.         Call Open(Relive,tempath'Marked'bbsline,'R')
  520.         Call Open(Terrys,tempath'Chocolate'bbsline,'W')
  521.         chowmein=0
  522.         do until eof(bagman)
  523.             fn=readln(bagman)
  524.             if compress(fn)~="" then mkf=mkf+1
  525.             call seek(relive,0,'B')
  526.             do until upper(word(data,1))=upper(fn)|eof(relive)
  527.                 data=readln(relive)
  528.                 guyfawkes=word(data,1)
  529.                 filenim=upper(guyfawkes)
  530.                 if upper(filenim)=compress(upper(fn)) then do
  531.                     call writeln(terrys,data)
  532.                     chowmein=chowmein+1
  533.                     gr=word(data,2);nm=word(data,3);descofile.filenim=translate(word(data,4),' ','­');areaofile.filenim=word(data,5);goar.filenim=gr
  534.                     mark.filenim.gr="Y"
  535.                     npat.filenim=areaofile.filenim
  536.                     markstring=markstring||guyfawkes" "
  537.                 end
  538.             end
  539.         end
  540.         Call Close(Relive)
  541.         Call Close(Bagman)
  542.         Call Close(Terrys)
  543.         address command 'rename "'tempath'Chocolate" "'tempath'Marked'bbsline'" >NIL:'
  544.     end
  545.     else address command 'delete "'tempath'Marked'bbsline'" >NIL:'
  546. end
  547. else do
  548.     if exists(sdlpath||username'.SDL')&~exists('RAM:FList_Remark') then do
  549.         queryy clr||pnk"þ"bld" "lang.37||clr
  550.         if upper(result)="Y" then call remark
  551.     end
  552. end
  553.  
  554. z=time('e');if tsts="ON" then print clr||bld||lang.38||z;t=t+z
  555. newline
  556. if tsts="ON" then print clr||bld||lang.39||t" "lang.40
  557.  
  558. err=time('r')
  559.  
  560. ceedee_now=0
  561. extdev_now=0
  562. if exists('RAM:FList_Remark') then do
  563.     address command "delete RAM:FList_Remark >NIL:"
  564.     call remark
  565.     signal boomtown
  566. end
  567. if exists('RAM:FList_CD') then do
  568.     address command "delete RAM:FList_CD >NIL:"
  569.     call cdromhandler
  570.     signal markemate
  571. end
  572. if exists('RAM:FList_ED') then do
  573.     address command "delete RAM:FList_ED >NIL:"
  574.     call edevhandler
  575.     signal markemate
  576. end
  577.  
  578. call redraw
  579. si '2'
  580. fool=result
  581. farea=setarea(fool)
  582.  
  583. fscroller:
  584. start=1
  585. bebob=0
  586. call reloadfiles
  587. call scroll
  588. do forever
  589.     if ~carrier then signal boomtown
  590.     if maxclock="ON" then send ""scrln+4"H"BLD||RED||kl"C"qt()
  591.     else send ""scrln+4"H"BLD||RED||kl"C"time()
  592.     send ""scrln+4"H"BLD||YEL"Select: "grn||bld
  593.     bufferflush
  594.     err=time('r')
  595.     do until fsopt~="RESULT"&fsopt~="NOCHAR"
  596.         if ~carrier then signal boomtown
  597.         if word(lres,1)=80&word(lres,3)~=0&userhelp="ON" then do
  598.             if left(time('e'),2)=30 then call lloose(lang.41)
  599.             if left(time('e'),2)=35 then call lloose(lang.42)
  600.             if left(time('e'),2)=40 then call lloose(lang.43)
  601.             if left(time('e'),2)=45 then call lloose(lang.44)
  602.             if left(time('e'),2)=50 then call lloose(lang.45)
  603.             if left(time('e'),2)=55 then call lloose(lang.46)
  604.             if left(time('e'),2)=60 then call lloose(lang.47)
  605.             if left(time('e'),2)=65 then call lloose(lang.48)
  606.             if left(time('e'),2)=70 then call lloose(lang.49)
  607.             if left(time('e'),2)=75 then call lloose(lang.50)
  608.             if left(time('e'),2)=80 then call lloose(lang.51)
  609.             if left(time('e'),2)=85 then call lloose(lang.52)
  610.             if left(time('e'),2)=90 then call lloose(lang.53)
  611.             if left(time('e'),2)=95 then call lloose(lang.54)
  612.             if left(time('e'),3)=100 then call lloose(lang.55)
  613.             if left(time('e'),3)=105 then call lloose(lang.56)
  614.             if left(time('e'),3)=110 then call lloose(lang.57)
  615.             if left(time('e'),3)=115 then call lloose(lang.58)
  616.             if left(time('e'),3)=120 then call lloose(lang.59)
  617.             if left(time('e'),3)=125 then call lloose(lang.60)
  618.             if left(time('e'),3)=130 then call lloose(lang.61)
  619.             if left(time('e'),3)=135 then call lloose(lang.62)
  620.             if left(time('e'),3)=140 then call lloose(lang.63)
  621.             if left(time('e'),3)=145 then call lloose(lang.64)
  622.             if left(time('e'),3)=150 then call lloose(lang.65)
  623.             if left(time('e'),3)=155 then do;call lloose(lang.66);err=time('r');end
  624.         end
  625.         bufferflush
  626.         maygetchar
  627.         fsopt=upper(result)
  628.         If fsopt='1B'x | fsopt='9B'x | fsopt='5B'x then do
  629.             maygetchar ; Tmp = result
  630.             if tmp="[" then do
  631.                 maygetchar;tmp=result
  632.                 If Tmp = 'A' then fsopt='8'
  633.                 If Tmp = 'B' then fsopt='2'
  634.                 If Tmp = 'C' then fsopt='1'
  635.                 If Tmp = 'D' then fsopt='7'
  636.             end
  637.             else do
  638.                 If Tmp = 'A' then fsopt='8'
  639.                 If Tmp = 'B' then fsopt='2'
  640.                 If Tmp = 'C' then fsopt='1'
  641.                 If Tmp = 'D' then fsopt='7'
  642.             end
  643.         End
  644.     end
  645.     send ""scrln+4"H"kl
  646.     send ""scrln+4"H"kl||BLD||YEL||lang.67||grn||bld
  647.     if fsopt="K" then call flick
  648.     if fsopt="/" then drop cache.
  649.     if fsopt="\" then do
  650.         do sisters=1 to mkf
  651.             voice=upper(word(markstring,sisters))
  652.             ger=goar.voice
  653.             mark.voice.ger="N"
  654.         end
  655.         markstring=""
  656.         mkf=0
  657.         call redraw(1)
  658.         call scroll
  659.     end
  660.     if fsopt='0D'x then fsopt="2"
  661.     if fsopt='08'x then fsopt="8"
  662.     if c2d(fsopt)=67 then do
  663.         maygetchar
  664.         shen=result
  665.         secval=1
  666.         if shen~="NOCHAR"&shen~="RESULT" then secval=c2d(shen)
  667.         if secval=50 then do;soak=lang.69;send soak;sl "[FList] "lang.68" (> "soak" <)";fsopt="";sendfile txtpath"FLISTMAINHELP";newline;continue;call redraw;call scroll;end
  668.     end
  669.     if (fsopt="2"|fsopt="3")&pageno<pages then do
  670.         soak=lang.70
  671.         send soak
  672.         sl "[FList] "lang.68" (> "soak" <)"
  673.         pageno=pageno+1
  674.         if pageno=pages then start=bebob-(scrln-1)
  675.         else start=start+scrln
  676.         maygetchar
  677.         if upper(result)="NOCHAR" then call scroll
  678.         else call flick
  679.     end
  680.     if fsopt="8"|fsopt="9" then if START>1 then do
  681.         soak=lang.71
  682.         send soak
  683.         sl "[FList] "lang.68" (> "soak" <)"
  684.         if start-scrln<1 then start=scrln+1
  685.         pageno=pageno-1
  686.         start=start-scrln
  687.         maygetchar
  688.         if upper(result)="NOCHAR" then call scroll
  689.         else call flick
  690.     end
  691.     if (fsopt="4"|fsopt="7")&pageno~=1 then do;soak=lang.72;send soak;sl "[FList] "lang.68" (> "soak" <)";start=1;pageno=1;call scroll;end
  692.     if (fsopt="6"|fsopt="1")&pages>1&pageno~=pages then do;soak=lang.73;send soak;sl "[FList] "lang.68" (> "soak" <)";start=bebob-(scrln-1);pageno=pages;call scroll;end
  693.     if (fsopt="I"&bebob>2)&start<bebob then do;soak=lang.74;send soak;sl "[FList] "lang.68" (> "soak" <)";call editdesc;end
  694.     if fsopt="L" then do;soak=lang.75;send soak;sl "[FList] "lang.68" (> "soak" <)";call palprefs;call scroll;end
  695.     if fsopt="P" then do;soak=lang.76;send soak;sl "[FList] "lang.68" (> "soak" <)";cls;send clr;call passwrd;end
  696.     if fsopt="?" then do;soak=lang.77;send soak;sl "[FList] "lang.68" (> "soak" <)";sendfile txtpath"FLISTMAINHELP";newline;continue;call redraw;call scroll;end
  697.     if fsopt="!" then do;soak=lang.78;send soak;send clr;cls;newline;call remark;call redraw;call scroll;end
  698.     if fsopt="@" then do;call cdromhandler;call redraw;call scroll;end
  699.     if fsopt="$" then do;call edevhandler;call redraw;call scroll;end
  700.     if fsopt="F" then do
  701.         soak=lang.79
  702.         send soak
  703.         if showopts=1 then showopts=2
  704.         else if showopts=2 then showopts=3
  705.         else if showopts=3 then do;if useraccess>=lameacc then showopts=4;else showopts=1;end
  706.         else if showopts=4 then showopts=1
  707.         sl "[FList] "lang.80||showopts
  708.         call redraw(1)
  709.     end
  710.     if fsopt="A" then do
  711.         soak=lang.81
  712.         send soak
  713.         sl "[FList] "lang.68" (> "soak" <)"
  714.         farea=areachange()
  715.         farea=setarea(farea)
  716.         call reloadfiles
  717.         call scroll
  718.     end
  719.     if fsopt="W" then do;soak=lang.82;send soak;sl "[FList] "lang.68" (> "soak" <)";call redraw;call scroll;end
  720.     if fsopt='1B'x then fsopt="Q"
  721.     if fsopt="%"&useraccess>=sysopimptaxx then do
  722.         soak=lang.83
  723.         send soak
  724.         sl "[FList] "lang.68" (> "soak" <)"
  725.         call dimport
  726.     end
  727.     if fsopt="H"&useraccess>=sysoptchtaxx then do
  728.         soak=lang.84
  729.         send soak
  730.         sl "[FList] "lang.68" (> "soak" <)"
  731.         call touch
  732.     end
  733.     if fsopt="|" then exit
  734.     if fsopt="Q" then do
  735.         soak=lang.85
  736.         sl "[FList] "lang.68" (> "soak" <)"
  737.         send soak
  738.  
  739.         markemate:
  740.         maygetchar
  741.         if upper(result)="A" then signal areachange
  742.         mkf=words(markstring)
  743.         alreadymarked=''
  744.         lstmarkedfiles tempath"FLIST_MARKED.Tmp"bbsline
  745.         if open(in,tempath'FLIST_MARKED.Tmp'bbsline,'R') then do
  746.             do until eof(in)
  747.                 amf=readln(in)
  748.                 alreadymarked=alreadymarked'*'amf'*'
  749.             end
  750.             Call Close(in)
  751.         end
  752.         address command 'delete "'tempath'FLIST_MARKED.Tmp'bbsline'" >NIL:'
  753.         if open(fides,tempath'File_Id'bbsline,'W') then do
  754.             Call Writeln(fides,'')
  755.             Call Writeln(fides,'       -----------------------------------------------------------------')
  756.             Call Writeln(fides,'     _[ FList - Stuart Gillibrand 1994-1997 - Digital Design Production ]_')
  757.             Call Writeln(fides,lang.86||left(bbsname,39)' ]-''')
  758.             Call Writeln(fides,'.-----------------------------------------------------------------------------.')
  759.             Call Writeln(fides,lang.87)
  760.             Call Writeln(fides,'`-----------------------------------------------------------------------------''')
  761.         end
  762.         failfile=0
  763.         bagtaghag=0
  764.         tetots=0
  765.         ttfd=0
  766.         if mkf>0&compress(markstring)~="" then do
  767.             if ~exists(tempath'Marked'bbsline) then do;Call open(assure,tempath'Marked'bbsline,'W');Call Close(Assure);end
  768.             Call open(assure,tempath'Marked'bbsline,'A')
  769.             cls
  770.             newline
  771.             markstring=strip(markstring,'T')
  772.             markstring=strip(markstring,'L')
  773.             PSB=0
  774.             Do Forever
  775.                 If ~carrier then signal boomtown
  776.                 do until pos('*'file'*',alreadymarked)=0
  777.                     PSB=PSB+1
  778.                     origfile=subword(markstring,psb,1)
  779.                     file=upper(subword(markstring,psb,1))
  780.                     if compress(file)="" then leave
  781.                     if pos('*'file'*',alreadymarked)>0 then mkf=mkf-1
  782.                 end
  783.                 if compress(file)="" then leave
  784.                 mintola=compress(file)
  785.                 filearea areaofile.mintola
  786.                 send BLD||CYN||left(file,24)" "
  787.                 markfile file
  788.                 fullpath=result
  789.                 failfile=0
  790.                 if upper(fullpath)="FAIL" then do;send RED||BLD||lang.88;failfile=1;mkf=mkf-1;newline;newline;end
  791.                 if upper(fullpath)="ALLREADY" then do;send RED||BLD||lang.89;failfile=1;newline;newline;fullpath="FAIL";mkf=mkf-1;end
  792.                 if upper(fullpath)~="FAIL"&failfile=0 then do
  793.                     send yel||BLD||lang.90
  794.                     if useraccess>=sysoppathtaxx then send "  "wht||bld||fullpath
  795.                     call open(Incol,fullpath,'R')
  796.                     fsize=seek(incol,0,'E')
  797.                     Call Close(incol)
  798.                     sheekan=dltime(fsize)
  799.                     if enlargemark="ON" then do
  800.                         newline
  801.                         send bld||yel||left(fsize" "lang.91" ",25)
  802.                         print bld||yel||word(sheekan,1)" "lang.92", "word(sheekan,2)" "lang.93" at "bpsrate" "lang.94
  803.                     end
  804.                     Call Writeln(fides,left(file,22)'  'right(fsize,8)'  'translate(descofile.mintola,d2c(10),'º'))
  805.                     Call writeln(assure,origfile' 'goar.mintola' 'translate(descofile.mintola,'­',' ')' 'areaofile.mintola)
  806.                     tetots=tetots+fsize
  807.                     newline
  808.                     if fpmopt="ON" then do
  809.                         if ~exists(fpmpath||file'.fpm') then pmak=1
  810.                         else do
  811.                             Call Open(pmarkin,fpmpath||file'.fpm','R')
  812.                             pmak=readln(pmarkin)
  813.                             if datatype(pmak)~="NUM" then pmak=0
  814.                             pmak=pmak+1
  815.                             Call Close(pmarkin)
  816.                         end
  817.                         Call Open(pmarkout,fpmpath||file'.fpm','W')
  818.                         Call writeln(pmarkout,pmak)
  819.                         Call Close(pmarkout)
  820.                     end
  821.                 end
  822.                 else bagtaghag=1
  823.             end
  824.         end
  825.         newline
  826.         if bagtaghag=1 then do
  827.             newline
  828.             continue
  829.             cls
  830.             sendfile txtpath"FList_MarkFail.ANSI"
  831.             continue
  832.             newline
  833.         end
  834.         if mkf>0 then do
  835.             mend=dltime(tetots)
  836.             sl "[FList] "lang.95"["mkf"] "lang.96" ["tetots"]"
  837.             print clr||bld||lang.97" "cyn||tetots
  838.             print clr||bld||lang.98" "cyn||mkf
  839.             print clr||bld||lang.99" "cyn||word(mend,1)" "lang.92", "word(mend,2)" "lang.92"."
  840.             parsec=word(mend,1)
  841.             if word(mend,2)>0 then parsec=parsec+1
  842.             Call Writeln(fides,'')
  843.             Call Writeln(fides,'.------------------------------------------------------------------------------.')
  844.             Call Writeln(fides,'| Digital Dreams Amiga BBS UK - 44-1772-454995 - psychoed@digitald.demon.co.uk |')
  845.             Call Writeln(fides,'|------------------------------------------------------------------------------|')
  846.             Call Writeln(fides,'| 'lang.101'['right(mkf,4)']  'lang.97'['right(tetots,8)']  'lang.102'['word(mend,1)' 'lang.103', 'word(mend,2)' 'lang.104'] |')
  847.             Call Writeln(fides,'`------------------------------------------------------------------------------''')
  848.             Call Writeln(fides,'')
  849.             Call Close(fides)
  850.             Call Close(assure)
  851.             newline
  852.             si 'm'
  853.             tonlin=result
  854.             if tonlin<parsec then do
  855.                 newline
  856.                 print RED||lang.105||YEL||tonlin" "lang.92
  857.                 print RED||lang.100||YEL||parsec" "lang.92
  858.                 sl "[FList] "lang.106"["tonlin"] "lang.107" ["parsec"]"
  859.                 newline
  860.                 print CYN||BLD||lang.108
  861.                 newline
  862.                 print CYN||BLD||lang.109
  863.                 print CYN||BLD||lang.110
  864.                 print CYN||BLD||lang.111
  865.                 newline
  866.                 print YEL||BLD||lang.112
  867.                 newline
  868.                 continue
  869.                 do clare=1 to words(markstring)
  870.                     unmarkfile subword(markstring,clare,1)
  871.                 end
  872.                 pageno=1
  873.                 signal fscroller
  874.             end
  875.             send BLD||WHT||lang.113
  876.             call checkpath(sdlpath)
  877.             if ~exists(sdlpath||username'.SDL') then do;call Open(LivinJoy,sdlpath||username'.SDL','W');call close(LivinJoy);end
  878.             Call Open(MFOut,sdlpath||username'.SDL','R')
  879.             Do until eof(mfout)
  880.                 if ~carrier then signal boomtown
  881.                 dat=readln(mfout)
  882.                 data=upper(word(dat,2))
  883.                 smallhdd.data=":-)"
  884.             End
  885.             Call close(mfout)
  886.             Call Open(MFOut,sdlpath||username'.SDL','A')
  887.             do psa=1 to words(markstring)
  888.                 If ~carrier then signal boomtown
  889.                 sirenag=upper(subword(markstring,psa,1))
  890.                 if jam.buttie.sirenag="Don't Even Ask :-)" then iterate
  891.                 if sirenag="" then leave
  892.                 nicenripe=""
  893.                 if areaofile.mintola~="AREAOFILE."mintola&areaofile.mintola~="" then nicenripe=areaofile.mintola' 'sirenag' 'translate(descofile.sirenag,'­',' ')' 'goar.sirenag
  894.                 if smallhdd.sirenag~=":-)" then Call Writeln(MFOut,nicenripe)
  895.             end
  896.             Call Close(MFOut)
  897.             print RED"Saving Complete."
  898.             print clr||GRN||BLD||lang.114" `"FSH"!"clr||BLD||GRN"' "lang.115
  899.             newline
  900.             locl=0
  901.             if word(lres,1)=80&word(lres,3)~=0 then do
  902.                 queryn clr||BLD||WHT||lang.116
  903.                 if upper(result)="Y" then do
  904.                     protocolsend tempath"File_Id"bbsline
  905.                     address command 'Delete "'tempath'File_Id'bbsline'" >NIL:'
  906.                 end
  907.             end
  908.             else continue
  909.         end
  910.         send clr;cls
  911.         signal boomtown
  912.     end
  913.     if fsopt="C"&checkoffline=0 then do
  914.         soak=lang.117;send soak
  915.         checkoffline=1
  916.         fsopt=""
  917.         send clr""scrln+7";0H"kl||WHT||lang.118
  918.         address command "WAIT "defwait" >NIL:"
  919.         send ""scrln+7";0H"kl
  920.     end
  921.     if fsopt="C"&checkoffline=1 then do
  922.         soak=lang.119
  923.         send soak
  924.         checkoffline=0
  925.         fsopt=""
  926.         send clr""scrln+7";0H"kl||WHT||lang.120
  927.         address command "WAIT "defwait" >NIL:"
  928.         send ""scrln+7";0H"kl
  929.     end
  930.     if fsopt="="|fsopt="+" then do;soak=lang.121;send soak;sl "[FList] "lang.68" (> "soak" <)";scrln=scrln+1;call redraw;send "H"YEL||BLD||lang.122||clr;end
  931.     if fsopt="-"&scrln>3 then do;soak=lang.123;send soak;sl "[FList] "lang.68" (> "soak" <)";scrln=scrln-1;call redraw;send "H"YEL||BLD||lang.122||clr;end
  932.     if fsopt="T" then do
  933.         soak=lang.124
  934.         send soak
  935.         scrln=screenln-8
  936.         if scrln<2 then scrln=2
  937.         call redraw
  938.         call scroll
  939.     end
  940.     if fsopt="*"&bebob>2 then do;soak=lang.125;send soak;sl "[FList] "lang.68" (> "soak" <)";call sort;end
  941.     if (fsopt="M"&bebob>2)&start<bebob then do;soak=lang.126;send soak;sl "[FList] "lang.68" (> "soak" <)";call mark;end
  942.     if (fsopt="R"&bebob>2)&start<bebob then do;soak=lang.127;send soak;sl "[FList] "lang.68" (> "soak" <)";call arcmark;end
  943.     if (fsopt="O"&bebob>2)&start<bebob then do;soak=lang.128;send soak;sl "[FList] "lang.68" (> "soak" <)";call mormark;end
  944.     if (fsopt="V"&useraccess>=sysopmovetaxx)&start<bebob then do;soak=lang.129;send soak;sl "[FList] "lang.68" (> "soak" <)";call movefile;end
  945.     if (fsopt="D"&useraccess>=sysopdeltaxx)&start<bebob then do;soak=lang.130;send soak;sl "[FList] "lang.68" (> "soak" <)";call delfile;end
  946.     if (fsopt="Y"&useraccess>=sysopcopytaxx)&start<bebob then do;soak=lang.131;send soak;sl "[FList] "lang.68" (> "soak" <)";call copfile;end
  947.     if (fsopt="Z"&useraccess>=sysopexetaxx&bebob>2)&start<bebob then do;soak=lang.132;send soak;sl "[FList] "lang.68" (> "soak" <)";call exefile;end
  948.     if (fsopt="."&useraccess>=sysopicetaxx)&start<bebob then do;soak=lang.133;send soak;sl "[FList] "lang.68" (> "soak" <)";call icefile;end
  949.     if fsopt="S"&bebob>2 then do;soak=lang.134;send soak;sl "[FList] "lang.68" (> "soak" <)";call searchforfile;end
  950.     if (fsopt="E"&bebob>2)&start<bebob then do;soak=lang.135;send soak;sl "[FList] "lang.68" (> "soak" <)";call rtxtphile;end
  951.     if (fsopt="X"&useraccess>=sysopterntaxx) then do;soak=lang.136;send soak;sl "[FList] "lang.68" (> "soak" <)";call extdir;end
  952.     if (fsopt="N"&useraccess>=sysopnketaxx)&start<bebob then do;soak=lang.137;send soak;sl "[FList] "lang.68" (> "soak" <)";call nukefile;end
  953.     if open(chk,giddy,'r') then do
  954.         newsize=seek(chk,0,'E')
  955.         call close(chk)
  956.     end
  957.     if newsize~=oldsize&extdir=0 then do
  958.         forceload=1
  959.         call alertit(clr||red||bld||lang.138)
  960.         sl "[FList] "lang.139
  961.         call reloadfiles
  962.         call scroll
  963.     end
  964.     if pos('|'fsopt'|',optsline)=0 then bad=bad+1
  965.     else bad=0
  966.     if bad=failedcmd then do
  967.         call alertit(clr||red||bld||lang.140)
  968.         sendfile txtpath"FLISTMAINHELP"
  969.         newline
  970.         continue
  971.         call redraw
  972.         call scroll
  973.         bad=0
  974.     end
  975.     fsopt=""
  976. end
  977.  
  978. exit
  979.  
  980. searchforfile:
  981. opag=pageno
  982. turbotoon=0
  983. query ""scrln+7";0H"YEL||lang.141||CYN
  984. sopostsf=upper(Result)
  985. if sopostsf="RESULT" then do;send ""scrln+7";0H"kl;return;end
  986. send ""scrln+7";0H"kl||CYN||bld||lang.142||YEL"["WHT||sopostsf||YEL"]"CYN" ... "GRN
  987. sl "[FList] String: ["sopostsf"]"
  988. do z=1 to bebob
  989.     if turbotoon=0&right(z,1)='0' then send right(z,5,'0')"/"right(bebob,5,'0')"D"
  990.     if pos(sopostsf,upper(currfname.z))>0 then do
  991.         opag=pageno
  992.         start=z
  993.         if z<=Scrln then do;pageno=1;start=1;end
  994.         else do
  995.             pint=z/scrln
  996.             dink=pos('.',pint)
  997.             if dink>0 then pageno=left(pint,dink-1)+1
  998.             else pageno=pint+1
  999.             start=(pageno-1)*scrln
  1000.         end
  1001.         if z>Start then nird=z-start
  1002.         else nird=0
  1003.         send ""scrln+7";0H"kl||WHT||lang.143||clr
  1004.         send ""scrln+7";0H"kl
  1005.         send clr"H"
  1006.         if opag~=pageno|pageno=pages then call scroll
  1007.         send ""nird+3";0H"
  1008.         if left(currfname.z,1)~="\" then send UND||BLD||PNK||left(ansify(z),93)||clr
  1009.         else send kl||UND||col_desc||BLD||left(right(currfname.z,length(currfname.z)-1),78)||clr||col_file
  1010.         if turbotoon=0 then do
  1011.             do until gwantanoma="C"
  1012.                 send ""scrln+7";0H"
  1013.                 send clr||bld||cyn"("yel"C"cyn")"grn||lang.144||cyn"("yel"M"cyn")"grn||lang.145||cyn"("yel"A"cyn")"grn||lang.146||cyn"("yel"T"cyn")"grn||lang.147||wht||fsh"::> "clr
  1014.                 bufferflush;gc
  1015.                 gwantanoma=upper(result)
  1016.                 send ""nird+3";0H"
  1017.                 if gwantanoma="T" then do
  1018.                     turbotoon=1
  1019.                     row=nird+3
  1020.                     if left(currfname.z,1)="\" then do
  1021.                         zelda=z
  1022.                         do until left(currfname.zelda,1)~="\"
  1023.                             row=row-1
  1024.                             zelda=zelda-1
  1025.                         end
  1026.                         if row<3 then do
  1027.                             start=start-scrln
  1028.                             pageno=pageno-1
  1029.                             call scroll
  1030.                             row=(zelda-start)+3
  1031.                         end
  1032.                         if strip(upper(substr(currfname.zelda,40,40)),'T')="FILE_ID.DIZ DESCRIPTION" then call submark(zelda)
  1033.                     end
  1034.                     else call submark(z)
  1035.                     gwantanoma="C"
  1036.                 end
  1037.                 if gwantanoma="M" then do
  1038.                     row=nird+3
  1039.                     if left(currfname.z,1)="\" then do
  1040.                         zelda=z
  1041.                         do until left(currfname.zelda,1)~="\"
  1042.                             row=row-1
  1043.                             zelda=zelda-1
  1044.                         end
  1045.                         if row<3 then do
  1046.                             start=start-scrln
  1047.                             pageno=pageno-1
  1048.                             call scroll
  1049.                             row=(zelda-start)+3
  1050.                         end
  1051.                         if strip(upper(substr(currfname.zelda,40,40)),'T')="FILE_ID.DIZ DESCRIPTION" then call submark(zelda)
  1052.                     end
  1053.                     else call submark(z)
  1054.                 end
  1055.                 if gwantanoma="A" then do;send ""scrln+7";0H"kl;return;end
  1056.                 if ~carrier then signal boomtown
  1057.             end
  1058.         end
  1059.         else do
  1060.             tip=upper(word(currfname.z,1))
  1061.             if mark.tip.goarea="Y" then break
  1062.             row=nird+3
  1063.             if left(currfname.z,1)="\" then do
  1064.                 zelda=z
  1065.                 do until left(currfname.zelda,1)~="\"
  1066.                     row=row-1
  1067.                     zelda=zelda-1
  1068.                 end
  1069.                 tip=upper(word(currfname.zelda,1))
  1070.                 if mark.tip.goarea="Y" then break
  1071.                 if row<3 then do
  1072.                     start=start-scrln
  1073.                     pageno=pageno-1
  1074.                     call scroll
  1075.                     row=(zelda-start)+3
  1076.                 end
  1077.                 if strip(upper(substr(currfname.zelda,40,40)),'T')="FILE_ID.DIZ DESCRIPTION" then call submark(zelda)
  1078.             end
  1079.             else call submark(z)
  1080.         end
  1081.         send ""scrln+7";0H"kl||CYN||bld||lang.142||YEL"["WHT||sopostsf||YEL"]"CYN" ..."
  1082.     end
  1083. end
  1084. send ""scrln+7";0H"kl||WHT||bld||lang.148||clr
  1085. address command "WAIT "defwait" >NIL:"
  1086. send ""scrln+7";0H"kl
  1087. return
  1088.  
  1089. scroll:
  1090. print ""scrln+3";24H"clr||col_bar||yel||bld||fsh"þ"clr
  1091. if sfmeth=0 then do
  1092.     send "H"
  1093.     send clr||col_file
  1094.     do i=start to start+(scrln-1)
  1095.         if i>bebob then currfname.i="\"
  1096.         if left(currfname.i,1)="\" then print kl||col_desc||BLD||translate(substr(currfname.i,2,78)," ",d2c(9))||clr||col_file
  1097.         else do
  1098.             tip=upper(word(currfname.i,1))
  1099.             if mark.tip.goarea="Y" then send RED||BLD
  1100.             print left(ansify(i),93)||clr||col_file
  1101.             if checkoffline=1 then if ~exists(areapath||word(currfname.i,1)) then do
  1102.                 print "[["areapath||word(currfname.i,1)"]]"
  1103.                 getchar
  1104.                 print "AC"RED||BLD||FSH||lang.149||clr
  1105.                 getchar
  1106.                 exit
  1107.             end
  1108.         end
  1109.     end
  1110. end
  1111. else do
  1112.     call open(out,tempath'GsaPar'bbsline,'w')
  1113.     call writech(out,"H")
  1114.     call writech(out,clr||col_file)
  1115.     do i=start to start+(scrln-1)
  1116.         if i>bebob then currfname.i="\"
  1117.         if left(currfname.i,1)="\" then call writeln(Out,kl||col_desc||BLD||translate(substr(currfname.i,2,78)," ",d2c(9))||clr||col_file)
  1118.         else do
  1119.             tip=upper(word(currfname.i,1))
  1120.             if mark.tip.goarea="Y" then call writech(out,RED||BLD)
  1121.             call writeln(out,left(ansify(i),93)||clr||col_file)
  1122.             if checkoffline=1 then if ~exists(areapath||word(currfname.i,1)) then call writeln(out,"AC"RED||BLD||FSH||lang.149||clr)
  1123.         end
  1124.     end
  1125.     call close(out)
  1126.     send ""scrln+7";0H"kl
  1127.     sendfile tempath"GsaPar"bbsline
  1128. end
  1129. print BLD||col_bar||WHT""scrln+3"HF"ubld"List "bld||left(lang.150,1)||ubld||substr(lang.150,2)" "bld"("blk||bld||lang.151" "showopts||wht")"clr||col_bar||BLK" þ "BLD||col_bar||red"["grn||right(pageno,length(pages),'0')||WHT"/"YEL||pages||red"]   "clr
  1130. return
  1131.  
  1132. movefile:
  1133. if compress(markstring)="" then do;call alertit(RED||BLD||lang.152);return;end
  1134.  
  1135. comeback=customquest(lang.420)
  1136. if upper(comeback)~="Y" then return
  1137.  
  1138. si '2'
  1139. curraread=result
  1140.  
  1141. marea=areachange()
  1142.  
  1143. call scroll
  1144.  
  1145. print ""scrln+4"H"kl
  1146. send ""scrln+4"H"BLD||WHT||lang.153||clr
  1147. do words(markstring)
  1148.     send "."
  1149. end
  1150.  
  1151. do pork=1 to words(markstring)
  1152.     send ""scrln+4";"pork+8"H"clr||bld||red"o"
  1153.     send clr"A2H"GRN||lang.154||WHT||mkf" "
  1154.     disfilen=word(markstring,pork)
  1155.     ddisfilen=upper(disfilen)
  1156.     zink=areaofile.ddisfilen
  1157.     areapath=npat.zink
  1158.     mkf=mkf-1
  1159.     ger=goar.ddisfilen
  1160.     mark.ddisfilen.ger="N"
  1161.     if areaofile.ddisfilen=marea then iterate
  1162.     if ~Open(in,goar.ddisfilen,'R') then iterate
  1163.     Call Open(out,tempath'flistmove.tmp'bbsline,'W')
  1164.     tcptg=0
  1165.     vanessa=0
  1166.     Do Until eof(in)
  1167.         If ~carrier then signal boomtown
  1168.         if vanessa=0 then ri=readln(in)
  1169.         vanessa=0
  1170.         if upper(word(ri,1))~=upper(disfilen)&ri~="" then Call Writeln(out,ri)
  1171.         if upper(word(ri,1))=upper(disfilen)&ri~="" then do
  1172.             mfl=ri
  1173.             if pos("FILE_ID.DIZ DESCRIPTION",upper(substr(ri,40,40,)))>0 then do
  1174.                 tcptg=1
  1175.                 daytona=0
  1176.                 do until left(ri,1)~="\"
  1177.                     daytona=daytona+1
  1178.                     ri=readln(in)
  1179.                     fidbit.daytona=ri
  1180.                 end
  1181.                 daytona=daytona-1
  1182.                 vanessa=1
  1183.             end
  1184.         end
  1185.     end
  1186.     Call Close(in)
  1187.     Call Close(out)
  1188.     if extdir=0 then address command 'copy "'tempath'flistmove.tmp'bbsline'" "'goar.ddisfilen'" noreq >NIL:'
  1189.     address command 'delete "'tempath'flistmove.tmp'bbsline'" >NIL:'
  1190.     newline
  1191.     FILEAREA marea
  1192.     si '7'
  1193.     mpath=upper(result)
  1194.     sl "[FList] Moving ["areapath||disfilen"] To ["mpath"]"
  1195.     address command 'COPY "'areapath||disfilen'" "'mpath'" noreq >NIL:'
  1196.     if extdir=0 then address command 'DELETE "'areapath||disfilen'" >NIL:'
  1197.     address command 'COPY "'areapath||disfilen'.DESC" "'mpath'" noreq >NIL:'
  1198.     if extdir=0 then address command 'DELETE "'areapath||disfilen'.DESC" >NIL:'
  1199.     if Call Open(out,mpath'files.bbs','A')=1 then nop
  1200.     else call open(out,mpath'files.bbs','w')
  1201.     Call Writeln(out,mfl)
  1202.     if tcptg=1 then do
  1203.         do nemesis=1 to daytona
  1204.             Call Writeln(out,fidbit.nemesis)
  1205.         end
  1206.     end
  1207.     Call Close(out)
  1208. end
  1209. if extdir=0 then call setarea(curraread)
  1210. send clr"A2H"GRN||lang.154||WHT||mkf" "
  1211. row=row-1
  1212. call tenf
  1213. if smeeegheed=1 then return
  1214. call louise_sleeper
  1215. mkf=0
  1216. markstring=""
  1217. if smeeegheed=1 then return
  1218. if bebob<3 then return
  1219. return
  1220.  
  1221. delfile:
  1222. if compress(markstring)="" then do;call alertit(RED||BLD||lang.152);return;end
  1223. query ""scrln+7";0H"kl||pnk||bld||lang.155||yel"- "grn"y"blu"/"red"N "cyn"?"ubld"> "bld||wht
  1224. toddterry=result
  1225. send clr""scrln+7";0H"kl
  1226. if upper(toddterry)~="Y" then return
  1227. if compress(markstring)="" then return
  1228.  
  1229. print ""scrln+4"H"kl
  1230. send ""scrln+4"H"BLD||WHT||lang.156||clr
  1231. do words(markstring)
  1232.     send "."
  1233. end
  1234.  
  1235. do pork=1 to words(markstring)
  1236.     send ""scrln+4";"pork+9"H"clr||bld||red"o"
  1237.     send clr"A2H"GRN||lang.154||WHT||mkf" "
  1238.     disfilen=word(markstring,pork)
  1239.     ddisfilen=upper(disfilen)
  1240.     zink=areaofile.ddisfilen
  1241.     areapath=npat.zink
  1242.     Call Open(in,goar.ddisfilen,'R')
  1243.     Call Open(out,tempath'flistmove.tmp'bbsline,'W')
  1244.     tcptg=0
  1245.     vanessa=0
  1246.     Do Until eof(in)
  1247.         If ~carrier then signal boomtown
  1248.         if vanessa=0 then ri=readln(in)
  1249.         vanessa=0
  1250.         if upper(word(ri,1))~=upper(disfilen)&ri~="" then Call Writeln(out,ri)
  1251.         if upper(word(ri,1))=upper(disfilen)&ri~="" then do
  1252.             mfl=ri
  1253.             if pos("FILE_ID.DIZ DESCRIPTION",upper(substr(ri,40,40,)))>0 then do
  1254.                 tcptg=1
  1255.                 daytona=0
  1256.                 do until left(ri,1)~="\"
  1257.                     daytona=daytona+1
  1258.                     ri=readln(in)
  1259.                     fidbit.daytona=ri
  1260.                 end
  1261.                 daytona=daytona-1
  1262.                 vanessa=1
  1263.             end
  1264.         end
  1265.     end
  1266.     Call Close(in)
  1267.     Call Close(out)
  1268.     sl "[FList] Deleting ["areapath||disfilen"]"
  1269.     if extdir=0 then address command 'COPY "'tempath'flistmove.tmp'bbsline'" "'goar.ddisfilen'" noreq >NIL:'
  1270.     else address command 'COPY "'tempath'flistmove.tmp'bbsline'" "File:FlistExd/Files.BBS" noreq >NIL:'
  1271.     address command 'delete "'tempath'flistmove.tmp'bbsline'" force >NIL:'
  1272.     address command 'delete "'areapath||disfilen'" force >NIL:'
  1273.     address command 'delete "'areapath||disfilen'.DESC" force >NIL:'
  1274.     ger=goar.ddisfilen
  1275.     mark.ddisfilen.ger="N"
  1276.     mkf=mkf-1
  1277. end
  1278. markstring=""
  1279. mkf=0
  1280. call alertit(clr||red||bld||lang.157)
  1281. call scroll
  1282. send clr"A2H"GRN||lang.154||WHT||mkf" "
  1283. row=row-1
  1284. call tenf
  1285. if smeeegheed=1 then return
  1286. call louise_sleeper
  1287. if smeeegheed=1 then return
  1288. if bebob<3 then return
  1289. return
  1290.  
  1291. copfile:
  1292. if compress(markstring)="" then do;call alertit(RED||BLD||lang.152);return;end
  1293.  
  1294. comeback=customquest(lang.421)
  1295. if upper(comeback)~="Y" then return
  1296.  
  1297. send clr""scrln+7";0H"
  1298. query CYN||lang.158||YEL"\\RAM:"
  1299. fullcpath=result
  1300. if compress(markstring)="" then return
  1301.  
  1302. if ~exists(fullcpath) then send clr""scrln+7";0H"bld||cyn||lang.159||clr
  1303. call checkpath(fullcpath)
  1304.  
  1305. print ""scrln+4"H"kl
  1306. send ""scrln+4"H"BLD||WHT||lang.160||clr
  1307. do words(markstring)
  1308.     send "."
  1309. end
  1310.  
  1311. do pork=1 to words(markstring)
  1312.     send ""scrln+4";"pork+9"H"clr||bld||red"o"
  1313.     send clr"A2H"GRN||lang.154||WHT||mkf" "
  1314.     disfilen=word(markstring,pork)
  1315.     ddisfilen=upper(disfilen)
  1316.     zink=areaofile.ddisfilen
  1317.     areapath=npat.zink
  1318.     sl "[Flist] "lang.161"["areapath||disfilen"]"lang.162"["fullcpath"]"
  1319.     address command 'COPY "'areapath||disfilen'" "'fullcpath'" noreq >NIL:'
  1320.     ger=goar.ddisfilen
  1321.     mark.ddisfilen.ger="N"
  1322.     mkf=mkf-1
  1323. end
  1324. call alertit(clr||red||bld||lang.163)
  1325. send clr""scrln+7";0H"kl
  1326. send clr"A2H"GRN||lang.154||WHT||mkf" "
  1327. call tenf
  1328. call scroll
  1329. if smeeegheed=1 then return
  1330. call louise_sleeper
  1331. mkf=0
  1332.  
  1333. comeback=customquest(lang.427)
  1334. if upper(comeback)~="Y" then call sdoubleudoublev
  1335. else markstring=""
  1336.  
  1337. if smeeegheed=1 then return
  1338. if bebob<3 then return
  1339. return
  1340.  
  1341. icefile:
  1342. if compress(markstring)="" then do;call alertit(RED||BLD||lang.152);return;end
  1343.  
  1344. comeback=customquest(lang.422)
  1345. if upper(comeback)~="Y" then return
  1346.  
  1347. send clr""scrln+7";0H"
  1348. query clr||CYN"("BLD"T"ubld")"lang.164"("BLD"E"ubld")"lang.165"("BLD"X"ubld")"lang.166" "YEL"\\E"
  1349. icemode=upper(result)
  1350. if icemode~="T"&icemode~="E"&icemode~="X" then icemode="T"
  1351. if icemode="E"|icemode="X" then do
  1352.     send clr""scrln+7";0H"
  1353.     query CYN||lang.167||YEL"\\RAM:"
  1354.     fullcpath=result
  1355.     if compress(markstring)="" then do
  1356.         call redraw
  1357.         call scroll
  1358.         return
  1359.     end
  1360. end
  1361. send clr""scrln+7";0H"
  1362. if compress(fullcpath)=""|fullcpath="RESULT" then return
  1363. if ~open(bzoo,tempath'IceIceBaby'bbsline,'w') then do
  1364.     alertit(clr||red||bld||lang.168" ["tempath"IceIceBaby"bbsline"] ! :(")
  1365.     sl "[Flist] "lang.169" ["tempath"IceIceBaby"bbsline"]!"
  1366.     signal boomtown
  1367. end
  1368. call writeln(bzoo,'failat 99999')
  1369. call writeln(bzoo,'stack 32000')
  1370. call writeln(bzoo,'echo')
  1371. do pork=1 to words(markstring)
  1372.     disfilen=word(markstring,pork)
  1373.     ddisfilen=upper(disfilen)
  1374.     sl "[FList] "lang.170" {"disfilen"}"
  1375.     zink=areaofile.ddisfilen
  1376.     areapath=npat.zink
  1377.     sl "[FList] "lang.170" ["areapath||disfilen"]"lang.162"["fullcpath"]"
  1378.     call writeln(bzoo,'echo "H"')
  1379.     if icemode="X" then call writeln(bzoo,'icearc -xc "'areapath||disfilen'" "'fullcpath'"')
  1380.     if icemode="E" then call writeln(bzoo,'icearc -x "'areapath||disfilen'" "'fullcpath'"')
  1381.     if icemode="T" then call writeln(bzoo,'icearc -t "'areapath||disfilen'" "'fullcpath'"')
  1382.     ger=goar.ddisfilen
  1383.     mark.ddisfilen.ger="N"
  1384.     mkf=mkf-1
  1385. end
  1386. call writeln(bzoo,'endcli')
  1387. call close(bzoo)
  1388. cls
  1389. address command 'NewShell FIFO:ddshell'id'/rwkecs FROM "'tempath'IceIceBaby'bbsline'"'
  1390. address command binpath'TrShell -c -d -e -f -n'bbsline' -fddshell'id
  1391. address command 'Delete "'tempath'IceIceBaby'bbsline'" >NIL:'
  1392. newline
  1393. continue
  1394. mkf=0
  1395.  
  1396. comeback=customquest(lang.427)
  1397. if upper(comeback)~="Y" then call sdoubleudoublev
  1398. else markstring=""
  1399.  
  1400. call redraw
  1401. call scroll
  1402. return
  1403.  
  1404. nukefile:
  1405. if compress(markstring)="" then do;call alertit(RED||BLD||lang.152);return;end
  1406.  
  1407. comeback=customquest(lang.423)
  1408. if upper(comeback)~="Y" then return
  1409.  
  1410. do pork=1 to words(markstring)
  1411.     disfilen=word(markstring,pork)
  1412.     ddisfilen=upper(disfilen)
  1413.     zink=areaofile.ddisfilen
  1414.     areapath=npat.zink
  1415.     send clr""scrln+7";0H"
  1416.     nast=1
  1417.     sl "[FList] "lang.171" {"disfilen"}..."
  1418.     query clr||cyn||bld||disfilen": "lang.172" "yel"\\N"
  1419.     if upper(result)="Y" then do
  1420.         send clr""scrln+7";0H"
  1421.         prompt 2 'NORMAL' '"'clr||bld||cyn||lang.173' 'clr'"'
  1422.         nast=result
  1423.         if datatype(nast)~="NUM" then nast=1
  1424.     end
  1425.     sl "[FList] "lang.174" "nast
  1426.     if ~open(nukename,areapath||disfilen'.desc','r') then do
  1427.         call alertit(RED||BLD||lang.175)
  1428.         sl "[FList] "lang.176
  1429.         iterate
  1430.     end
  1431.     eman=readln(nukename)
  1432.     call close(nukename)
  1433.     if ~open(in,usrpath||eman,'r') then do
  1434.         call alertit(RED||BLD||lang.177)
  1435.         sl "[FList] "lang.178
  1436.         iterate
  1437.     end
  1438.     do i=1 to 45
  1439.         usrdat.i=readln(in)
  1440.     end
  1441.     call close(in)
  1442.     flrem=1*nast
  1443.     usrdat.14=compress(usrdat.14)-flrem
  1444.     sizeofile=word(statef(areapath||ddisfilen),2)
  1445.     byrem=sizeofile*nast
  1446.     gigar=byrem/1024
  1447.     if pos('.',gigar)>0 then gigar=left(gigar,pos('.',gigar)-1)
  1448.     usrdat.13=compress(usrdat.13)-gigar
  1449.     call open(out,usrpath||eman,'w')
  1450.     do i=1 to 45
  1451.         call writeln(out,usrdat.i)
  1452.     end
  1453.     call close(out)
  1454.     ger=goar.ddisfilen
  1455.     mark.ddisfilen.ger="N"
  1456.     mkf=mkf-1
  1457.     call alertit(RED||BLD||flrem" "lang.179" "byrem" "lang.180" "caseconvert(eman))
  1458.     send clr""scrln+7";0H"grn||bld||lang.181
  1459.     call open(in,cfgpath'FList.NukeReport','r')
  1460.     call open(tgout,'ram:Nuke.Txt','w')
  1461.     do until eof(in)
  1462.         data=readln(in)
  1463.         do until hell=0
  1464.             hell=checkmenoo()
  1465.         end
  1466.         if ~eof(in) then call writeln(tgout,data)
  1467.     end
  1468.     call close(in)
  1469.     hell=1
  1470.     call alertit(RED||BLD||disfilen": "lang.182)
  1471.     textedit
  1472.     choc=result
  1473.     call redraw
  1474.     call scroll
  1475.     if choc="###ABORTED" then call writeln(tgout,lang.183)
  1476.     else do
  1477.         craydead='T:Editor'
  1478.         if bbsline>0 then roncr='_'bbsline'.Temp'
  1479.         else roncr='.Temp'
  1480.         call open(tgin,craydead||roncr,'r')
  1481.         do until eof(tgin)
  1482.             data=readln(tgin)
  1483.             if eof(tgin) then leave
  1484.             do until hell=0
  1485.                 hell=checkmenoo()
  1486.             end
  1487.             call writeln(tgout,data)
  1488.         end
  1489.         call close(tgin)
  1490.     end
  1491.     call close(tgout)
  1492.     send clr""scrln+7";0H"grn||bld||lang.184
  1493.     call trapghost('"'tgmailpath'" "ram:nuke.txt" "FList Nuke Server" "'caseconvert(eman)'" "FList Nuke Server - 'lang.185'"')
  1494.     call alertit(RED||BLD||disfilen": "lang.186)
  1495.     sl "[FList] {"disfilen"} "lang.187
  1496. end
  1497. mkf=0
  1498.  
  1499. comeback=customquest(lang.427)
  1500. if upper(comeback)~="Y" then call sdoubleudoublev
  1501. else markstring=""
  1502.  
  1503. return
  1504.  
  1505. checkmenoo:
  1506. pip=pos('%f',data)
  1507. if pip>0 then do
  1508.     data=delstr(data,pip,2)
  1509.     data=insert(disfilen,data,pip-1,length(disfilen),)
  1510. end
  1511. pip=pos('%s',data)
  1512. if pip>0 then do
  1513.     data=delstr(data,pip,2)
  1514.     data=insert(sizeofile,data,pip-1,length(sizeofile),)
  1515. end
  1516. pip=pos('%D',data)
  1517. if pip>0 then do
  1518.     data=delstr(data,pip,2)
  1519.     monk=translate(descofile.ddisfilen,d2c(10),'º')
  1520.     data=insert(monk,data,pip-1,length(monk),)
  1521. end
  1522. pip=pos('%u',data)
  1523. if pip>0 then do
  1524.     data=delstr(data,pip,2)
  1525.     data=insert(username,data,pip-1,length(username),)
  1526. end
  1527. pip=pos('%F',data)
  1528. if pip>0 then do
  1529.     data=delstr(data,pip,2)
  1530.     data=insert(flrem,data,pip-1,length(flrem),)
  1531. end
  1532. pip=pos('%B',data)
  1533. if pip>0 then do
  1534.     data=delstr(data,pip,2)
  1535.     data=insert(byrem,data,pip-1,length(byrem),)
  1536. end
  1537. pip=pos('%x',data)
  1538. if pip>0 then do
  1539.     data=delstr(data,pip,2)
  1540.     data=insert(nast,data,pip-1,length(nast),)
  1541. end
  1542. return(pip)
  1543.  
  1544. editdesc:
  1545. print clr""scrln+7";0H"YEL||BLD||lang.188" -["CYN||WHT"M/Return"CYN||lang.162||WHT||lang.189||CYN", "WHT"Q/Esc"CYN||lang.162||WHT||lang.190||CYN", "WHT"8+2/Cursors"CYN||lang.162||WHT||lang.191||YEL"]-"clr
  1546. call tenf
  1547. if smeeegheed=1 then return
  1548. call louise_sleeper
  1549. do forever
  1550.     if ~carrier then signal boomtown
  1551.     raw=(start+row)-3
  1552.     tip=upper(word(currfname.raw,1))
  1553.     send BBLU||BLD||WHT
  1554.     if mark.tip.goarea="Y" then send BRED||CYN||BLD
  1555.     send ''row'HC'left(substr(currfname.raw,40,length(currfname.raw)-39),40)
  1556.     bufferflush;gc
  1557.     markopt=upper(result)
  1558.     if c2d(markopt)=13 then markopt="M"
  1559.     if markopt='1B'x then markopt="Q"
  1560.     If markopt = '9b'x | markopt='5B'x then Do
  1561.         maygetchar ; Tmp = result
  1562.         If Tmp = 'A' then markopt='8'
  1563.         If Tmp = 'B' then markopt='2'
  1564.         If Tmp = 'C'&pageno<pages then do;pageno=pageno+1;start=start+scrln;call scroll;signal editdesc;end
  1565.         If Tmp = 'D' then if START>1 then do;if start-scrln<1 then start=scrln+1;pageno=pageno-1;start=start-scrln;call scroll;signal editdesc;end
  1566.     End
  1567.     if markopt="2" then do;replin=downer();if replin=1 then signal editdesc;end
  1568.     shutupbeavis=0
  1569.     if markopt="8" then call uppa
  1570.     if markopt="M" then do
  1571.         whoupped=""
  1572.         if useraccess>=sysopdesctaxx then whoupped=upper(username)
  1573.         if open(findwho,areapath||word(currfname.raw,1)'.Desc','R')&userAccess<=(sysopdesctaxx) then do
  1574.             whoupped=upper(readln(findwho))
  1575.             Call Close(findwho)
  1576.         end
  1577.         if whoupped~=upper(username) then do
  1578.             call alertit(clr||RED||BLD||lang.192)
  1579.             call restip
  1580.             return
  1581.         end
  1582.         send ""row"HC"BBLU
  1583.         deezco=substr(currfname.raw,40,40,)
  1584.         melk=raw+1
  1585.         if (upper(strip(deezco,'T'))~="FILE_ID.DIZ DESCRIPTION")|(upper(strip(deezco,'T'))="FILE_ID.DIZ DESCRIPTION"&left(currfname.melk,1)~="\") then do
  1586.             query "\\"strip(deezco,'T')
  1587.             newdesc=result
  1588.             if newdesc=upper(result) then newdesc="[FList] "lang.193
  1589.             sl "[FList] "lang.194" "word(currfname.raw,1)||lang.195" ["strip(substr(currfname.raw,40,40,),'T')"]"lang.162"["newdesc"]"
  1590.             currfname.raw=left(currfname.raw,39)||newdesc
  1591.         end
  1592.         else do
  1593.             send ""row"H"clr||left(ansify(raw),93,' ')
  1594.             do melk=raw+1 to bebob-1
  1595.                 if left(currfname.melk,1)~="\" then leave
  1596.                 if (melk-start+3)=(scrln+3) then do;pageno=pageno+1;start=start+scrln;call scroll;end
  1597.                 send ""melk-start+3"HC"clr||yel||bld||BBLU
  1598.                 deezco=substr(currfname.melk,35,45,)
  1599.                 query "\\"strip(deezco,'T')
  1600.                 newdesc=result
  1601.                 if upper(newdesc)="RESULT" then newdesc=""
  1602.                 send ""melk-start+3"HC"clr||col_desc||bld||newdesc
  1603.                 if newdesc=upper(result) then newdesc="[FList] "lang.193
  1604.                 sl "[FList] DIZ "lang.194" "word(currfname.raw,1)||lang.196||melk" "lang.197" ["strip(substr(currfname.melk,35,45,),'T')"]"lang.162"["newdesc"]"
  1605.                 currfname.melk=left(currfname.melk,34)||newdesc
  1606.             end
  1607.             call louise_sleeper
  1608.         end
  1609.         call spinwrite
  1610.         send clr"H"
  1611.     end
  1612.     if markopt="Q" then do
  1613.         print ""scrln+7";0H"clr||kl
  1614.         send clr"H"
  1615.         call restip
  1616.         return
  1617.     end
  1618. end
  1619. send clr"H"
  1620. call restip
  1621. signal editdesc
  1622.  
  1623. exefile:
  1624. print clr""scrln+7";0H"YEL||BLD||lang.198" -["CYN||WHT"M/Return"CYN||lang.162||WHT||lang.189||CYN", "WHT"Q/Esc"CYN||lang.162||WHT||lang.190||CYN", "WHT"8+2/Cursors"CYN||lang.162||WHT||lang.191||YEL"]-"clr
  1625. call tenf
  1626. if smeeegheed=1 then return
  1627. call louise_sleeper
  1628. do forever
  1629.     if ~carrier then signal boomtown
  1630.     raw=(start+row)-3
  1631.     send BRED||BLD||WHT
  1632.     tip=upper(word(currfname.raw,1))
  1633.     if mark.tip.goarea="Y" then send BRED||CYN||BLD
  1634.     send ''row'H'left(ansify(raw),22)
  1635.     bufferflush;gc
  1636.     markopt=upper(result)
  1637.     if c2d(markopt)=13 then markopt="M"
  1638.     if markopt='1B'x then markopt="Q"
  1639.     If markopt = '9b'x | markopt='5B'x then Do
  1640.         maygetchar ; Tmp = result
  1641.         If Tmp = 'A' then markopt='8'
  1642.         If Tmp = 'B' then markopt='2'
  1643.         If Tmp = 'C'&pageno<pages then do;pageno=pageno+1;start=start+scrln;call scroll;signal exefile;end
  1644.         If Tmp = 'D' then if START>1 then do;if start-scrln<1 then start=scrln+1;pageno=pageno-1;start=start-scrln;call scroll;signal exefile;end
  1645.     End
  1646.     if markopt="2" then do;replin=downer();if replin=1 then signal exefile;end
  1647.     shutupbeavis=0
  1648.     if markopt="8" then call uppa
  1649.     if markopt="M" then do
  1650.         nareapath=areapath
  1651.         newline
  1652.         query clr""scrln+7";0H"kl||lang.199" "cyn"\\"precommexe||areapath||word(currfname.raw,1)
  1653.         cl=result
  1654.         if upper(Cl)="RESULT" then cl='echo "'lang.200'"'
  1655.         sl "[FList] "lang.201" ["cl"]..."
  1656.         if ~exists(cfgpath"Flist.TRS") then address command 'echo "Failat 9999" >'cfgpath'FList.TRS'
  1657.         address command 'Copy 'cfgpath'FList.TRS "'tempath'FList.TRS'bbsline'" noreq'
  1658.         call open(trs,tempath'flist.trs'bbsline,'a')
  1659.         call writeln(trs,cl)
  1660.         call writeln(trs,'endcli')
  1661.         call close(trs)
  1662.         id=time(s)
  1663.         cls
  1664.         address command 'NewShell FIFO:trshell'id'/rwkecs FROM "'tempath'Flist.TRS'bbsline'"'
  1665.         address command binpath'TrShell -c -d -e -f -n'bbsline' -ftrshell'id
  1666.         newline
  1667.         continue
  1668.         address command 'Delete "'tempath'FList.TRS'bbsline'" >NIL:'
  1669.         print "A"kl
  1670.         send clr"H"
  1671.         call redraw
  1672.         call scroll
  1673.     end
  1674.     if markopt="Q" then do
  1675.         print ""scrln+7";0H"clr||kl
  1676.         send clr"H"
  1677.         call restip
  1678.         return
  1679.     end
  1680. end
  1681. send clr"H"
  1682. call restip
  1683. signal exefile
  1684.  
  1685. mark:
  1686. if tailmark~=1 then tailmark=0
  1687. print clr""scrln+7";0H"YEL||BLD||lang.202" -["CYN||WHT"M/Ret"CYN" - "WHT||lang.203||CYN", "WHT"Q/Esc"CYN" - "WHT||lang.190||CYN", "WHT"8+2/Cursors"CYN" - "WHT||lang.204||CYN", "WHT"T"CYN" - "WHT||lang.205||YEL"]-"clr
  1688. call tenf
  1689. if smeeegheed=1 then return
  1690. call louise_sleeper
  1691. do forever
  1692.     if ~carrier then signal boomtown
  1693.     raw=(start+row)-3
  1694.     send BBLU||BLD||WHT
  1695.     tip=upper(word(currfname.raw,1))
  1696.     if tailmark=1 then do
  1697.         if (raw=(start+scrln-1)&disraw=start)|raw<tailstart then do
  1698.             replin=downer()
  1699.             tip=upper(word(currfname.raw,1))
  1700.             if replin=1 then signal mark
  1701.             if mark.tip.goarea="Y" then send clr||BLD||RED""row"H"left(ansify(raw),93)
  1702.             else send ''row'H'left(ansify(raw),93)||wht||bld||bblu
  1703.         end
  1704.         else disraw=raw
  1705.     end
  1706.     if mark.tip.goarea="Y" then do
  1707.         send BBLU||RED||BLD''row'H'left(ansify(raw),21)
  1708.         zink=areaofile.tip
  1709.         if exists(npat.zink||word(currfname.raw,1)) then do
  1710.             Call Open(In,npat.zink||word(currfname.raw,1),'R')
  1711.             folisize=seek(In,0,'E')
  1712.             Call Close(In)
  1713.             prevmarx=0
  1714.             if fpmopt="ON" then do
  1715.                 if ~exists(fpmpath||word(currfname.raw,1)'.fpm') then prevmarx=0
  1716.                 else do
  1717.                     Call Open(In,fpmpath||word(currfname.raw,1)'.fpm','R')
  1718.                     prevmarx=readln(in)
  1719.                     Call close(in)
  1720.                 end
  1721.                 send left(''row'HC 'YEL||lang.206' 'GRN||right(prevmarx,5,'0')||YEL' 'lang.207' 'GRN||word(dltime(folisize),1)' 'lang.103' 'word(dltime(folisize),2)' 'lang.104,85)
  1722.             end
  1723.             else send left(''row'HC 'YEL||lang.207' 'GRN||word(dltime(folisize),1)' 'lang.92' 'word(dltime(folisize),2)' 'lang.93,75)
  1724.         end
  1725.     end
  1726.     else send ''row'H'left(ansify(raw),21)
  1727.     if tailmark=1 then do
  1728.         if raw~=tailstart then send clr||bld||grn""row"HC|"clr
  1729.         else do
  1730.             if mark.tip.goarea="Y" then send clr||bld||yel""row"HC^"bblu||wht
  1731.             else send clr||bld||yel""row"HC^"clr
  1732.         end
  1733.     end
  1734.     bufferflush;gc
  1735.     markopt=upper(result)
  1736.     if c2d(markopt)=13 then markopt="M"
  1737.     if markopt='1B'x then markopt="Q"
  1738.     If markopt = '9b'x | markopt='5B'x then Do
  1739.         maygetchar ; Tmp = result
  1740.         If Tmp = 'A' then markopt='8'
  1741.         If Tmp = 'B' then markopt='2'
  1742.         If Tmp = 'C'&pageno<pages then do;pageno=pageno+1;start=start+scrln;call scroll;signal mark;end
  1743.         If Tmp = 'D' then if START>1 then do;if start-scrln<1 then start=scrln+1;pageno=pageno-1;start=start-scrln;call scroll;signal mark;end
  1744.     End
  1745.     if markopt="2" then do
  1746.         replin=downer()
  1747.         if replin=1&tailmark=0 then signal mark
  1748.     end
  1749.     shutupbeavis=0
  1750.     if markopt="8" then call uppa
  1751.     if markopt="."&tailmark=0 then do
  1752.         if mark.tip.goarea="Y" then send clr||BLD||RED""row"H"left(ansify(raw),93)
  1753.         else send clr||wht''row'H'left(ansify(raw),93)||clr
  1754.         redrow=((scrln%2)+3)
  1755.         dedrow=(start+redrow)-3
  1756.         if left(currfname.dedrow,1)~="\" then row=redrow
  1757.     end
  1758.     if markopt="T"&tailmark=0 then do
  1759.         tailmark=1
  1760.         tailstart=raw
  1761.         disraw=raw
  1762.         send clr||bld||yel""row"HC^"clr
  1763.     end
  1764.     else if markopt="T"&tailmark=1 then do
  1765.         call endtail
  1766.     end
  1767.     if markopt="M" then call submark(raw)
  1768.     if markopt="Q" then do
  1769.         if tailmark=1 then call endtail
  1770.         print ""scrln+7";0H"clr||kl
  1771.         send clr"H"
  1772.         call restip
  1773.         return
  1774.     end
  1775. end
  1776. send clr"H"
  1777. call restip
  1778. signal mark
  1779.  
  1780. endtail:
  1781. tailmark=0
  1782. send clr||bld||yel""row"HCv"clr
  1783. sugardaddy=raw
  1784. do busyevil=tailstart to sugardaddy
  1785.     if left(currfname.busyevil,1)="\" then busyevil=busyevil+1
  1786.     if left(currfname.busyevil,1)="\" then iterate
  1787.     row=((busyevil-start)+3)
  1788.     call submark(busyevil)
  1789.     tip=upper(word(currfname.busyevil,1))
  1790.     if mark.tip.goarea="Y" then send clr||BLD||RED""row"H"left(ansify(raw),93)
  1791.     else send ''row'H'left(ansify(raw),93)
  1792. end
  1793. return
  1794.  
  1795. arcmark:
  1796. if compress(markstring)="" then do;call alertit(RED||BLD||lang.152);return;end
  1797.  
  1798. comeback=customquest(lang.424)
  1799. if upper(comeback)~="Y" then return
  1800.  
  1801. send clr""scrln+7";0H"
  1802. do pork=1 to words(markstring)
  1803.     disfilen=word(markstring,pork)
  1804.     ddisfilen=upper(disfilen)
  1805.     sl "[FList] "lang.208" {"disfilen"}"
  1806.     zink=areaofile.ddisfilen
  1807.     areapath=npat.zink
  1808.     sl "[FList] "lang.209" ["areapath||disfilen"]"
  1809.     address command 'icearc -l "'areapath||disfilen'" >"'tempath'FListArc.Tmp'bbsline'"'
  1810.     if open(in,tempath'flistarc.tmp'bbsline,'R') then do
  1811.         send clr"H"
  1812.         bathroom=0
  1813.         do until eof(in)
  1814.             If ~carrier then signal boomtown
  1815.             do lcareful=1 to scrln-1
  1816.                 data=readln(in)
  1817.                 bathroom=bathroom+1
  1818.                 if bathroom>13 then print kl||left(data,78)
  1819.                 else print kl||data
  1820.             end
  1821.             print kl"A"
  1822.             if eof(in) then newline
  1823.             dork=morepro()
  1824.             if dork=0 then leave
  1825.             send clr"H"
  1826.         end
  1827.         buggeroff=0
  1828.         address command 'DELETE "'tempath'FLIST.TMP'bbsline'" >NIL:'
  1829.         Call Close(in)
  1830.     end
  1831.     ger=goar.ddisfilen
  1832.     mark.ddisfilen.ger="N"
  1833.     mkf=mkf-1
  1834. end
  1835. mkf=0
  1836.  
  1837. comeback=customquest(lang.427)
  1838. if upper(comeback)~="Y" then call sdoubleudoublev
  1839. else markstring=""
  1840.  
  1841. call scroll
  1842. call redraw(1)
  1843. return
  1844.  
  1845. mormark:
  1846. print clr""scrln+7";0H"YEL||BLD||lang.210" -["CYN||WHT"M/Return"CYN||lang.162||WHT||lang.189||CYN", "WHT"Q/Esc"CYN||lang.162||WHT||lang.190||CYN", "WHT"8+2/Cursors"CYN||lang.162||WHT||lang.191||YEL"]-"clr
  1847. call tenf
  1848. if smeeegheed=1 then return
  1849. call louise_sleeper
  1850. do forever
  1851.     if ~carrier then signal boomtown
  1852.     raw=(start+row)-3
  1853.     send BBLU||BLD||WHT
  1854.     tip=upper(word(currfname.raw,1))
  1855.     if mark.tip.goarea="Y" then send BBLU||RED||BLD
  1856.     send ''row'H'left(ansify(raw),22)
  1857.     bufferflush;gc
  1858.     markopt=upper(result)
  1859.     if c2d(markopt)=13 then markopt="M"
  1860.     if markopt='1B'x then markopt="Q"
  1861.     If markopt = '9b'x | markopt='5B'x then Do
  1862.         maygetchar ; Tmp = result
  1863.         If Tmp = 'A' then markopt='8'
  1864.         If Tmp = 'B' then markopt='2'
  1865.         If Tmp = 'C'&pageno<pages then do;pageno=pageno+1;start=start+scrln;call scroll;signal mormark;end
  1866.         If Tmp = 'D' then if START>1 then do;if start-scrln<1 then start=scrln+1;pageno=pageno-1;start=start-scrln;call scroll;signal mormark;end
  1867.     End
  1868.     if markopt="2" then do;replin=downer();if replin=1 then signal mormark;end
  1869.     shutupbeavis=0
  1870.     if markopt="8" then call uppa
  1871.     if markopt="M" then do
  1872.         nodesc=1
  1873.         uld="<Unknown>"
  1874.         call clearsarea
  1875.         if left(currfname.raw,1)="\" then break
  1876.         if exists(areapath||word(currfname.raw,1)".Desc") then do;if Open(in,areapath||word(currfname.raw,1)".Desc",'R') then do;uld=readln(in);nodesc=0;end;end
  1877.         send clr"H"
  1878.         print kl"A"
  1879.         newline;newline;newline
  1880.         print YEL||BLD||lang.211" : "CYN||caseconvert(uld)
  1881.         newline
  1882.         sl "[FList] "lang.212" ["word(currfname.raw,1)"]"
  1883.         print YEL||lang.213": "CYN||word(currfname.raw,1)
  1884.         print YEL||lang.214": "CYN||left(substr(currfname.raw,40),40)
  1885.         mon=substr(substr(currfname.raw,33,6,),3,2,)
  1886.         mont=geniushaha.mon
  1887.         print YEL||lang.215": "CYN||substr(currfname.raw,37,2,)'-'mont'-'substr(currfname.raw,33,2,)
  1888.         newline
  1889.         if Open(ish,areapath||word(currfname.raw,1),'R') then do
  1890.             fsize=seek(ish,0,'E')
  1891.             Call Close(ish)
  1892.         end
  1893.         else fsize=0
  1894.         newline
  1895.         print BLD||YEL||lang.216": "CYN||fsize" "lang.91
  1896.         print BLD||YEL||lang.217": "CYN||bpsrate||clr||YEL" - "lang.218": "CYN||BLD||word(dltime(fsize),1)||clr||YEL" "lang.92" "CYN||BLD||word(dltime(fsize),2)||clr||YEL" "lang.93
  1897.         newline
  1898.         do 3;print kl;end
  1899.         print kl"A"
  1900.         continue
  1901.         call clearsarea
  1902.         if nodesc=0 then do
  1903.             print "H"
  1904.             do until eof(in)
  1905.                 If ~carrier then signal boomtown
  1906.                 defter=0
  1907.                 do lcareful=1 to scrln-1
  1908.                     print kl
  1909.                     data=readln(in)
  1910.                     if eof(in)=1 then leave
  1911.                     defter=2
  1912.                     print "A"CYN||YEL||left(data,78)
  1913.                 end
  1914.                 print kl"A"
  1915.                 if defter=2 then sheeko=MorePro()
  1916.                 else do
  1917.                     print red||bld"A"lang.219
  1918.                     continue
  1919.                     leave
  1920.                 end
  1921.                 call clearsarea
  1922.                 if sheeko=0 then leave
  1923.                 send clr"H"
  1924.             end
  1925.             buggeroff=0
  1926.         end
  1927.         Call Close(in)
  1928.         send "H"
  1929.         call scroll
  1930.         send BBLU||BLD||WHT
  1931.         send ''row'H'left(ansify(raw),22)
  1932.     end
  1933.     if markopt="Q" then do
  1934.         print ""scrln+7";0H"clr||kl
  1935.         send clr"H"
  1936.         call restip
  1937.         return
  1938.     end
  1939. end
  1940. send clr"H"
  1941. call scroll
  1942. signal mormark
  1943.  
  1944. rtxtphile:
  1945. print clr""scrln+7";0H"YEL||BLD||lang.220" -["CYN||WHT"M/Return"CYN||lang.162||WHT||lang.189||CYN", "WHT"Q/Esc"CYN||lang.162||WHT||lang.190||CYN", "WHT"8+2/Cursors"CYN||lang.162||WHT||lang.191||YEL"]-"clr
  1946. call tenf
  1947. if smeeegheed=1 then return
  1948. call louise_sleeper
  1949. do forever
  1950.     if ~carrier then signal boomtown
  1951.     raw=(start+row)-3
  1952.     send BBLU||BLD||WHT
  1953.     tip=upper(word(currfname.raw,1))
  1954.     if mark.tip.goarea="Y" then send BBLU||RED||BLD
  1955.     send ''row'H'left(ansify(raw),22)
  1956.     bufferflush;gc
  1957.     markopt=upper(result)
  1958.     if c2d(markopt)=13 then markopt="M"
  1959.     if markopt='1B'x then markopt="Q"
  1960.     If markopt = '9b'x | markopt='5B'x then Do
  1961.         maygetchar ; Tmp = result
  1962.         If Tmp = 'A' then markopt='8'
  1963.         If Tmp = 'B' then markopt='2'
  1964.         If Tmp = 'C'&pageno<pages then do;pageno=pageno+1;start=start+scrln;call scroll;signal rtxtphile;end
  1965.         If Tmp = 'D' then if START>1 then do;if start-scrln<1 then start=scrln+1;pageno=pageno-1;start=start-scrln;call scroll;signal rtxtphile;end
  1966.     End
  1967.     if markopt="2" then do;replin=downer();if replin=1 then signal rtxtphile;end
  1968.     shutupbeavis=0
  1969.     if markopt="8" then call uppa
  1970.     if markopt="M" then do
  1971.         typ=""
  1972.         nareapath=areapath||word(currfname.raw,1)
  1973.         donotdisturb=0
  1974.         if left(currfname.raw,1)="\" then break
  1975.         print "H"
  1976.         if ~exists(compress(nareapath)) then call alertit(clr||red||bld"File does not exist, file is Offline - Alert SysOp")
  1977.         if ~exists(compress(nareapath)) then break
  1978.         send clr""scrln+7";0H"kl||WHT||lang.221
  1979.         address command 'about "'compress(nareapath)'" >'tempath'gh'bbsline
  1980.         sl "[FList] "lang.222" ["compress(nareapath)"]"
  1981.         call open(in,tempath'gh'bbsline,'r')
  1982.         dummy=readln(in)
  1983.         call clearsarea
  1984.         do 9;print CYN||BLD||readln(in)||clr;end
  1985.         typ=readln(in)
  1986.         send bld||cyn||left(typ,9)||clr
  1987.         print bld||yel||right(typ,length(typ)-9)||clr
  1988.         newline
  1989.         continue
  1990.         if pos('ASCII',upper(typ))=0 then do
  1991.             call alertit(BLD||RED||lang.223||clr)
  1992.             sl "[FList] "lang.224
  1993.             Call Close(in)
  1994.             call scroll
  1995.             return
  1996.         end
  1997.         Call Close(in)
  1998.         send clr;cls
  1999.         sl "[FList] "lang.225
  2000.         sendfile compress(nareapath)
  2001.         newline
  2002.         continue
  2003.         call redraw
  2004.         send "H"
  2005.         call scroll
  2006.         send BBLU||BLD||WHT
  2007.         send ''row'H'left(ansify(raw),22)
  2008.     end
  2009.     if markopt="Q" then do
  2010.         print ""scrln+7";0H"clr||kl
  2011.         send clr"H"
  2012.         call restip
  2013.         return
  2014.     end
  2015. end
  2016. if typ~-"" then call redraw
  2017. send clr"H"
  2018. call scroll
  2019. signal rtxtphile
  2020.  
  2021.  
  2022. syntax:
  2023. golf=sigl
  2024. code=rc
  2025. newline
  2026. print ""lang.226""
  2027. newline
  2028. print ""lang.227" "golf
  2029. print ""lang.228" "code
  2030. print ""lang.229" "errortext(code)
  2031. newline
  2032. sl clr||bld"[FList] "lang.230" #"golf", "lang.231" "code", "lang.232" ["errortext(code)"] *** "
  2033. print " "lang.233" "
  2034. newline
  2035. send ""lang.234" "
  2036. call open(errout,'ram:error.txt','w')
  2037. call writeln(errout,'FList - (c) S.Gillibrand 1997 - Digital Design Production'crvar||crvar'An error has occured internal to FList, this error was triggered while'crvar||username' was online. It is suggested you report this error to 'crvar'Stuart Gillibrand of Digital Design immediatley. The following methods of contact are available:'crvar||crvar' * EMail: psychoed@digitald.demon.co.uk'crvar' * WWW: http://www.digitald.demon.co.uk'crvar' * Fidonet: 2:250/602.0'crvar' * Snail: Digital Design WHQ,'crvar'          8, Thornton Drive,'crvar'          Farington Moss,'crvar'          Leyland,'crvar'          Preston,'crvar'          Lancashire,'crvar'          PR5 3QH.'crvar'          ENGLAND.'crvar||crvar'An immediate response will follow and any bugs/improvements fixed/made due')
  2038. call writeln(errout,'to your information will result in a small dedication to yourself.'crvar||crvar'Please attatch the following information to your message:-'crvar||crvar' Line [#'golf']'crvar' Code ['code']'crvar' Error ['errortext(code)']'crvar' Version ['ver$']')
  2039. call writeln(errout,' Date ['date()']'crvar' Time ['time()']'crvar||crvar' BBS Name: 'bbsname||crvar' SysOp: 'bbsysopname||crvar||crvar'---'crvar||crvar'Thank You In Advance.'crvar)
  2040. call close(errout)
  2041. call trapghost('"'tgmailpath'" "ram:error.txt" "'lang.235'" "'caseconvert(bbsysopname)'" "'lang.235' - 'lang.236'"')
  2042. address command 'delete "ram:error.txt" >NIL:'
  2043. print "Complete"
  2044. newline
  2045. continue
  2046. signal boomtown
  2047.  
  2048. maffair:
  2049. cls
  2050. newline
  2051. print RED||BLD||lang.237||clr
  2052. return
  2053.  
  2054. redraw:
  2055. arg parad
  2056. call open(sneakyout,tempath'koochi'bbsline,'w')
  2057. pages=bebob/scrln
  2058. borrow=pos('.',pages)
  2059. if borrow>0 then pages=left(pages,borrow-1)+1
  2060. call writech(sneakyout,clr)
  2061. if parad=1 then call writech(sneakyout,"H")
  2062. else call writech(sneakyout,"H")
  2063. call writeln(sneakyout,kl||kon||BLD||YEL||tbpliner||crvar||kon"A2H"BLD||YEL||lang.154||WHT||mkf||crvar||kl||kon||col_bar||bld||YEL"["WHT||left(lang.238,1)||ubld||substr(lang.238,2)||bld||YEL"] ["WHT||left(lang.239,1)||ubld||substr(lang.239,2)||bld||YEL"] ["WHT||left(lang.240,1)||ubld||substr(lang.240,2)||bld||YEL"] ["WHT||left(lang.241,1)||ubld||substr(lang.241,2)||bld||YEL")"WHT||left(lang.242,1)||ubld||substr(lang.242,2)||bld||YEL"]"kon||crvar||clr||WHT||BLD""scrln+3"H"kl||col_bar"F"ubld"List "bld||left(lang.243,1)||ubld||substr(lang.243,2)" "bld"("blk||lang.244" "showopts||wht")"clr||col_bar||BLK" þ "BLD||col_bar||red"["grn||right(pageno,length(pages),'0')||WHT"/"YEL||pages||red"]                                    "clr||crvar||kl||col_bar"A"76-length(areaname)-6"C"YEL||BLD||lang.245||ubld": "bld||WHT||areaname"  "clr||crvar)
  2064.  
  2065. if parad=1 then do
  2066.     call writeln(sneakyout,kl)
  2067.     call writeln(sneakyout,kl"A")
  2068. end
  2069. call close(sneakyout)
  2070. sendfile tempath'koochi'bbsline
  2071. sendfile txtpath"FList_Menu"showopts
  2072. address command 'delete "'tempath'koochi'bbsline'" >NIL:'
  2073. return
  2074.  
  2075. reloadfiles:
  2076. parse arg areatwf
  2077. if compress(areatwf)=""|upper(areatwf)="AREATWF" then areatwf=goarea
  2078. bebob=1
  2079. currfname.bebob="\                              "pnk||bld||word(lang.246,1)||ubld||substr(lang.246,length(word(lang.246,1))+1)
  2080. call clearsarea
  2081. send FSH||BLD||RED""scrln+1"H þú "clr||BLD||YEL||lang.247||RED||FSH" úþ "clr||BLD||CYN": "clr
  2082. if areacomm="ON" then do
  2083.     gooe=farea
  2084.     if gooe>areas then gooe="Ext"
  2085.     currfname.2="\"
  2086.     currfname.3="\ ú+úþú+úþú+-<*> "centre("#"gooe", "areaname,45)" <*>-+úþú+úþú+ú"
  2087.     currfname.4="\"
  2088.     bebob=4
  2089. end
  2090. soastick=bebob+1
  2091. Call Open(in,areatwf,'R')
  2092. oldsize=seek(in,0,'E')
  2093. donotcache=0
  2094. err=time('r')
  2095. if oldsize=cache.farea.0&forceload~=1&flistcache="ON" then do
  2096.     donotcache=1
  2097.     send FSH||BLD||RED""scrln+1"H þú "clr||BLD||YEL||lang.248||RED||FSH" úþ "clr||BLD||CYN": "clr
  2098.     do cash=soastick to cache.farea.65535
  2099.         currfname.cash=cache.farea.cash
  2100.     end
  2101.     bebob=cache.farea.65535
  2102. end
  2103. else do
  2104.     err=seek(in,0,'B')
  2105.     do until eof(in)
  2106.         bebob=bebob+1
  2107.         currfname.bebob=readln(in)
  2108.     end
  2109. end
  2110. Call Close(in)
  2111. print time('e')" seconds..."
  2112. pages=bebob/scrln
  2113. borrow=pos('.',pages)
  2114. if borrow>0 then pages=left(pages,borrow-1)+1
  2115. currfname.bebob="\                               "pnk||bld||word(lang.249,1)||ubld||substr(lang.249,length(word(lang.249,1))+1)/*" ["pnk||bld||right(bebob-2,5,'0')||ubld" Entries In This Area]"*/
  2116. address command 'Delete "'tempath'RESULTS'bbsline'" >NIL:'
  2117. pageno=1
  2118. giddy=goarea
  2119. start=1
  2120. if ((donotcache=0|forceload=1)&flistcache="ON") then do
  2121.     send FSH||BLD||RED""scrln"H þú "clr||BLD||YEL||lang.250||RED||FSH" úþ "clr||BLD||CYN": "clr
  2122.     err=time('r')
  2123.     do necro=soastick to bebob-1
  2124.         cache.farea.necro=currfname.necro
  2125.     end
  2126.     cache.farea.0=oldsize
  2127.     cache.farea.65535=bebob
  2128.     print time('e')" "lang.93"..."
  2129. end
  2130. forceload=0
  2131. return
  2132.  
  2133. sort:
  2134.  
  2135. comeback=customquest(lang.425)
  2136. if upper(comeback)~="Y" then return
  2137.  
  2138. rev=''
  2139. query clr||YEL||bld""scrln+7";0H"kl||lang.251" (A-Alpha, R-Reverse, F-Forward, D-Date, S-Size, C-Comment): "CYN
  2140. demp=result
  2141. if upper(demp)~="R" then result=customquest(lang.252)
  2142. if upper(Result)="Y" then rev='r'
  2143. if upper(demp)="R" then call sortreverse
  2144. if upper(demp)="A" then call sortalpha
  2145. if upper(demp)="F" then call sortnormal
  2146. if upper(demp)="D" then call sortdate
  2147. if upper(demp)="S" then call sortsize
  2148. if upper(demp)="C" then call sortcomment
  2149. if exists(tempath"files.bbs"bbsline) then do
  2150.     forceload=1
  2151.     call reloadfiles(tempath"FILES.BBS"bbsline)
  2152.     call scroll
  2153.     address command 'delete "'tempath'Files.BBS'bbsline'" >NIL:'
  2154. end
  2155. send ""scrln+7";0H"kl
  2156. return
  2157.  
  2158. sortreverse:
  2159. sl "[FList] "lang.253
  2160. send clr""scrln+7";0H"kl""WHT||lang.254
  2161. address command "FileSort "goarea" "tempath"files.bbs"bbsline" R >NIL:"
  2162. return
  2163.  
  2164. sortalpha:
  2165. sl "[FList] "lang.255
  2166. send clr""scrln+7";0H"kl||bld||WHT||lang.256
  2167. address command "FileSort "goarea" "tempath"files.bbs"bbsline" a "rev" >NIL:"
  2168. return
  2169.  
  2170. sortdate:
  2171. sl "[FList] "lang.257
  2172. send clr""scrln+7";0H"kl||BLD||WHT||lang.258
  2173. address command "FileSort "goarea" "tempath"files.bbs"bbsline" d "rev" >NIL:"
  2174. return
  2175.  
  2176. sortsize:
  2177. sl "[FList] "lang.259
  2178. send clr""scrln+7";0H"kl||WHT||BLD||lang.260
  2179. address command "FileSort "goarea" "tempath"files.bbs"bbsline" s "rev" >NIL:"
  2180. return
  2181.  
  2182. sortcomment:
  2183. sl "[FList] "lang.261
  2184. send clr""scrln+7";0H"kl||bld||WHT||lang.262
  2185. address command "FileSort "goarea" "tempath"files.bbs"bbsline" c "rev" >NIL:"
  2186. return
  2187.  
  2188. sortnormal:
  2189. sl "[FList] "lang.263
  2190. call reloadfiles
  2191. call scroll
  2192. return
  2193.  
  2194. extdir:
  2195. extdir=0
  2196. send clr""scrln+7";0H"kl
  2197. query YEL||lang.264" "CYN"\\"gopher
  2198. xdir=result
  2199. if upper(xdir)="RESULT" then do
  2200.     send clr""scrln+7";0H"kl
  2201.     return
  2202. end
  2203. if ~exists(xdir) then do
  2204.     call alertit(clr||red||bld||lang.265)
  2205.     return
  2206. end
  2207. areaname=lang.266" "xdir
  2208. apat.areaname="ExDirServ:"
  2209. farea=65535
  2210. goarea="ExDirServ:Files.BBS"
  2211. sl "[FList] "lang.267" ["xdir"]"
  2212. address command 'assign ExDirServ: "'xdir'"'
  2213. call checkpath("file:FListExd")
  2214. address command 'assign ExDirServ: file:FListExd add'
  2215. if right(xdir,1)~=":"&right(xdir,1)~="/" then xdir=xdir'/'
  2216. gopher=xdir
  2217. send clr""scrln+7";0H"kl||WHT||lang.268
  2218. if exists(xdir'Files.bbs') then do
  2219.     send clr""scrln+7";0H"kl
  2220.     query bld||lang.269" "yel"y"blu"/"yel"N"wht"? "cyn
  2221.     if upper(result)="Y" then do
  2222.         address command 'copy "'xdir'files.bbs" "file:FlistExd" noreq >NIL:'
  2223.         signal wishthing
  2224.     end
  2225. end
  2226. send clr""scrln+7";0H"kl||grn||bld||lang.270||clr
  2227. address command 'List "'xdir'" Files Nohead >'tempath'Files.BBS'bbsline
  2228. address command 'List "'xdir'" Dirs Nohead >'tempath'FilesDIR.BBS'bbsline
  2229. send clr""scrln+7";0H"kl
  2230. Call Open(Out,'file:FListExd/Files.BBS','W')
  2231. Call Writeln(out,'\')
  2232. Call Writeln(out,'\ 'red||bld'External Directory Processed By FList - (c) S.Gillibrand 1997')
  2233. Call Writeln(out,'\ 'red||bld||lang.271||xdir)
  2234. Call Writeln(out,'\')
  2235. xdir="ExDirServ:"
  2236.  
  2237. address command 'Copy "'xdir'files.bbs" "'tempath'refudge'bbsline'" noreq >NIL:'
  2238.  
  2239. Call Open(In,tempath'FilesDIR.BBS'bbsline,'R')
  2240. breg=0
  2241. send clr""scrln+7";0H"kl||grn||bld||lang.272||clr
  2242. xdate="970413"
  2243. do forever
  2244.     if ~carrier then signal boomtown
  2245.     do until length(strip(xdata,'T'))<61
  2246.         xdata=readln(in)
  2247.     end
  2248.     if left(xdata,1)=":" then do;xcomm=left(right(xdata,length(xdata)-2),40);xdata=readln(in);end
  2249.     else xcomm=left(lang.273,40)
  2250.     mon=substr(xdate,3,2)
  2251.     xdat=right(xdate,2)"-"geniushaha.mon"-"left(xdate,2)
  2252.     datout='\'clr||grn||bld||xfile||col_size' 'lang.274' 'col_date||xdat' 'col_desc||xcomm
  2253.     if breg=1 then do;Call Writeln(out,datout);end
  2254.     if eof(in) then leave
  2255.     breg=1
  2256.     xfile=left(xdata,23)
  2257.     xdate.1=substr(xdata,43,9)
  2258.     xdate="970101"
  2259.     if datatype(left(xdate.1,2))="NUM" then do
  2260.         mon=upper(substr(xdate.1,4,3,))
  2261.         xdate=right(xdate.1,2)||geniusahah.mon||left(xdate.1,2)
  2262.     end
  2263. end
  2264. Call Close(in)
  2265.  
  2266. Call Open(In,tempath'Files.BBS'bbsline,'R')
  2267. breg=0
  2268. send clr""scrln+7";0H"kl||grn||bld||lang.275||clr
  2269. do forever
  2270.     if ~carrier then signal boomtown
  2271.     do until length(strip(xdata,'T'))<61
  2272.         xdata=readln(in)
  2273.     end
  2274.     if left(xdata,1)=":" then do;xcomm=left(right(xdata,length(xdata)-2),40);xdata=readln(in);end
  2275.     else xcomm=left(lang.276,40)
  2276.     datout=xfile||xsize' 'xdate' 'xcomm
  2277.     if breg=1 then do;Call Writeln(out,datout);end
  2278.     if eof(in) then leave
  2279.     breg=1
  2280.     xfile=left(xdata,23)
  2281.     xdate.1=substr(xdata,43,9)
  2282.     xdate="970101"
  2283.     if datatype(left(xdate.1,2))="NUM" then do
  2284.         mon=upper(substr(xdate.1,4,3,))
  2285.         xdate=right(xdate.1,2)||geniusahah.mon||left(xdate.1,2)
  2286.     end
  2287.     xsize=right(strip(substr(xdata,25,8)),8)
  2288.     if compress(upper(xsize))="EMPTY" then xsize=right('0',8)
  2289. end
  2290. Call Close(in)
  2291. Call Close(out)
  2292.  
  2293. wishthing:
  2294. extdirpath=xdir
  2295. areapath=xdir
  2296. extdir=1
  2297. zeon=zeon+1
  2298. farea=zeon
  2299. npat.zeon=xdir
  2300. send clr""scrln+7";0H"kl
  2301. pageno=1
  2302. call reloadfiles("file:flistexd/files.bbs")
  2303. call redraw(1)
  2304. call scroll
  2305. return
  2306.  
  2307. palprefs:
  2308. col.1=substr(red,4,1)
  2309. col.2=substr(grn,4,1)
  2310. col.3=substr(yel,4,1)
  2311. col.4=substr(blu,4,1)
  2312. col.5=substr(pnk,4,1)
  2313. col.6=substr(cyn,4,1)
  2314. col.7=substr(wht,4,1)
  2315. call clearsarea
  2316. send "H"
  2317. sendfile txtpath"FList_Colour.ANSI"
  2318. do i=1 to 7
  2319.     send ""5+(2*i)";"35+(5*col.i)"H"col.i"mþþþþ"clr
  2320. end
  2321. send "3H"RED||BLD"->"
  2322. ccol=1
  2323. do until cpref="V"|cpref="Q"
  2324.     If ~carrier then signal boomtown
  2325.     bufferflush;gc
  2326.     cpref=upper(result)
  2327.     if cpref='1B'x then markopt="V"
  2328.     If cpref = '9b'x | cpref='5B'x then Do
  2329.         maygetchar ; Tmp = result
  2330.         If Tmp = 'A' then cpref='A'
  2331.         If Tmp = 'B' then cpref='Z'
  2332.         If Tmp = 'C' then cpref='='
  2333.         If Tmp = 'D' then cpref='-'
  2334.     End
  2335.     if cpref="8" then cpref="A"
  2336.     if cpref="2" then cpref="Z"
  2337.     if cpref="4"|cpref="O" then cpref="-"
  2338.     if cpref="6"|cpref="P" then cpref="="
  2339.     if cpref="R" then do
  2340.         col.1=1
  2341.         col.2=2
  2342.         col.3=3
  2343.         col.4=4
  2344.         col.5=5
  2345.         col.6=6
  2346.         col.7=7
  2347.         call clearsarea
  2348.         send "H"
  2349.         sendfile txtpath"FList_Colour.ANSI"
  2350.         do i=1 to 7
  2351.             send ""5+(2*i)";"35+(5*col.i)"H"col.i"mþþþþ"clr
  2352.         end
  2353.         send "3H"RED||BLD"->"
  2354.         ccol=1
  2355.     end
  2356.     if cpref="="&col.ccol<7 then do
  2357.         col.ccol=col.ccol+1
  2358.         send clr""5+(2*ccol)";"35+(5*col.ccol)-5"H"col.ccol"m    "clr
  2359.         send ""5+(2*ccol)";"35+(5*col.ccol)"H"col.ccol"mþþþþ"clr
  2360.     end
  2361.     if cpref="-"&col.ccol>1 then do
  2362.         col.ccol=col.ccol-1
  2363.         send clr""5+(2*ccol)";"35+(5*col.ccol)+5"H"col.ccol"m    "clr
  2364.         send ""5+(2*ccol)";"35+(5*col.ccol)"H"col.ccol"mþþþþ"clr
  2365.     end
  2366.     if cpref="Z" then do
  2367.         send ""5+(2*ccol)";33H"ccol"m"BLD"  "
  2368.         ccol=ccol+1
  2369.         if ccol=8 then ccol=1
  2370.         send ""5+(2*ccol)";33H"ccol"m"BLD"->"clr
  2371.     end
  2372.     if cpref="A" then do
  2373.         send ""5+(2*ccol)";33H"ccol"m"BLD"  "
  2374.         ccol=ccol-1
  2375.         if ccol=0 then ccol=7
  2376.         send ""5+(2*ccol)";33H"ccol"m"BLD"->"clr
  2377.     end
  2378. end
  2379. if cpref~="Q" then do
  2380.     red=""col.1"m"
  2381.     grn=""col.2"m"
  2382.     yel=""col.3"m"
  2383.     blu=""col.4"m"
  2384.     pnk=""col.5"m"
  2385.     cyn=""col.6"m"
  2386.     wht=""col.7"m"
  2387.     call checkpath(pltpath)
  2388.     Call Open(Out,pltpath||username'.PLT','W')
  2389.     Call Writeln(out,""col.1"m")
  2390.     Call Writeln(out,""col.2"m")
  2391.     Call Writeln(out,""col.3"m")
  2392.     Call Writeln(out,""col.4"m")
  2393.     Call Writeln(out,""col.5"m")
  2394.     Call Writeln(out,""col.6"m")
  2395.     Call Writeln(out,""col.7"m")
  2396.     Call Close(Out)
  2397. end
  2398. call redraw(1)
  2399. call reloadfiles
  2400. return
  2401.  
  2402. passwrd:
  2403. newline
  2404. print clr":: ["bld"FList "lang.277||ubld"] ::"
  2405. newline
  2406. if upper(psw)~="­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" then do
  2407.     prompt 30 'HIDE' '"'clr||red||bld||lang.278||yel': 'bblu||cyn'                              D"'
  2408.     if upper(result)~=upper(psw) then do
  2409.         sl "[FList] "lang.279
  2410.         newline;newline
  2411.         print clr||bld||RED||lang.280
  2412.         newline
  2413.         continue
  2414.         call redraw
  2415.         call scroll
  2416.         return
  2417.     end
  2418.     newline;newline
  2419. end
  2420. prompt 30 'HIDE' '"'clr||red||bld||lang.281||yel': 'bblu||cyn'                              D"'
  2421. npass=upper(Result)
  2422. newline
  2423. prompt 30 'HIDE' '"'clr||red||bld||lang.282||yel': 'bblu||cyn'                              D"'
  2424. scnd=result
  2425. send clr
  2426. if upper(scnd)~=npass&upper(scnd)~="RESULT" then do
  2427.     newline;newline
  2428.     sl "[FList] "lang.283
  2429.     print clr||bld||RED||lang.284
  2430.     newline
  2431.     continue
  2432.     call redraw
  2433.     call scroll
  2434.     return
  2435. end
  2436. sl "[FList] "lang.285" ["npass"]"
  2437. call checkpath(pswpath)
  2438. if upper(scnd)="RESULT" then do
  2439.     address command 'DELETE "'pswpath||username'.PSW" >NIL:'
  2440.     newline;newline
  2441.     print clr||bld||GRN||lang.286
  2442.     psw="­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"
  2443.     newline
  2444.     continue
  2445.     call redraw
  2446.     call scroll
  2447.     return
  2448. end
  2449. Call Open(Out,pswpath||username'.PSW','W');Call Close(out)
  2450. address command 'FileNote "'pswpath||username'.PSW" "'npass'" >NIL:'
  2451. newline;newline
  2452. psw=npass
  2453. print clr||bld||grn||lang.287
  2454. newline
  2455. continue
  2456. call redraw
  2457. call scroll
  2458. return
  2459.  
  2460. remark:
  2461. oldms=markstring
  2462. oldmf=mkf
  2463.  
  2464. retr:
  2465. newline
  2466. print clr||CYN"þ"bld" "lang.288||clr
  2467. call checkpath(sdlpath)
  2468. if ~exists(sdlpath||username'.SDL') then do
  2469.     newline
  2470.     print RED||lang.289
  2471.     newline
  2472.     continue
  2473.     return
  2474. end
  2475. Call Open(LMIn,sdlpath||username'.SDL','R')
  2476. markstring=' '
  2477. mkf=1
  2478. send BLD
  2479. Do Until Eof(LMIn)
  2480.     If ~carrier then signal boomtown
  2481.     extpath=readln(lmin)
  2482.     fjr=word(extpath,2)
  2483.     areaofile.fjr=word(extpath,1)
  2484.     descofile.fjr=translate(word(extpath,3),' ','­')
  2485.     goar.fjr=word(extpath,5)
  2486.     if fjr~=""&datatype(areaofile.fjr)="NUM"&pos('­',extpath)>0 then do
  2487.         markstring=markstring||FJR' '
  2488.         mkf=mkf+1
  2489.     end
  2490. end
  2491. mkf=mkf-1
  2492. Call Close(lmin)
  2493.  
  2494. resel:
  2495. cls
  2496. print kl||kon||tbpliner
  2497. newline
  2498. call open(pagebreak,tempath'Page_Prompt'bbsline,'w')
  2499. call writech(pagebreak,clr)
  2500. do i=1 to words(markstring)
  2501.     if ~carrier then signal boomtown
  2502.     filenamenzie=upper(word(markstring,i))
  2503.     discojak=descofile.filenamenzie
  2504.     call writeln(pagebreak,YEL||right(i,3,'0')||CYN" "left(filenamenzie,23)" "translate(translate(discojak,' ','­'),d2c(10),'º'))
  2505. end
  2506. call close(pagebreak)
  2507. sendfile tempath"Page_Prompt"bbsline
  2508. address command 'delete "'tempath'Page_Prompt'bbsline'" >NIL:'
  2509. newline
  2510. do until smfopt="R"
  2511.     if ~carrier then exit
  2512.     prompt 1 'NORMAL' '"'bld||RED'R'YEL']'CYN||lang.290', 'RED'D'YEL']'CYN||lang.291', 'RED'Q'YEL']'CYN||lang.292', 'RED'C'YEL']'CYN||lang.293', 'RED'S'YEL']'CYN||lang.294', 'RED'V'YEL']'CYN||lang.295' 'WHT'> "'
  2513.     smfopt=upper(Result)
  2514.     select
  2515.         when smfopt="Q" then do
  2516.             markstring=oldms
  2517.             mkf=oldmf
  2518.             return
  2519.         end
  2520.         when smfopt="C" then do
  2521.             newline
  2522.             prompt 20 'NORMAL' '"'YEL||lang.296' 'CYN'"'
  2523.             ftc=upper(Result)
  2524.             if left(ftc,1)="/" then do
  2525.                 parse var ftc "/"strt"-"fnto
  2526.                 if datatype(strt)~="NUM"|datatype(fnto)~="NUM"|strt<1|fnto>words(markstring) then do
  2527.                     newline;newline
  2528.                     print red||bld||lang.297||clr
  2529.                     newline
  2530.                     continue
  2531.                     signal resel
  2532.                 end
  2533.                 nms=markstring
  2534.                 do ftc=strt to fnto
  2535.                     if ~carrier then signal boomtown
  2536.                     ftd=word(markstring,ftc)
  2537.                     mn8=pos(ftd,upper(nms))
  2538.                     nms=delstr(nms,mn8,length(ftd))
  2539.                 end
  2540.                 markstring=nms
  2541.                 newline
  2542.                 signal resel
  2543.             end
  2544.             if pos(ftc,upper(markstring))=0&datatype(ftc)~="NUM" then do
  2545.                 newline
  2546.                 print RED||lang.298
  2547.                 address command "Wait "defwait" >NIL:"
  2548.                 newline
  2549.                 send clr
  2550.                 newline
  2551.                 newline
  2552.                 signal resel
  2553.             end
  2554.             if datatype(ftc)="NUM" then if ftc<=words(markstring) then ftc=word(markstring,ftc);else signal resel
  2555.             mn8=pos(ftc,upper(markstring))
  2556.             markstring=delstr(markstring,mn8,length(ftc))
  2557.             newline
  2558.             newline
  2559.             signal resel
  2560.         end
  2561.         when smfopt="D" then do
  2562.             newline;newline
  2563.             queryn YEL||lang.299
  2564.             if upper(Result)~="Y" then signal resel
  2565.             call checkpath(sdlpath)
  2566.             address command 'Delete "'sdlpath||username'.SDL" >NIL:'
  2567.             newline
  2568.             print RED||lang.300
  2569.             address command "wait "defwait" >NIL:"
  2570.             sl "[FList] "lang.301
  2571.             markstring=oldms
  2572.             mkf=oldmf
  2573.             return
  2574.         end
  2575.         when compress(markstring)="" then do
  2576.             newline
  2577.             markstring=oldms
  2578.             mkf=oldmf
  2579.             print RED||lang.302
  2580.             newline
  2581.             continue
  2582.             return
  2583.         end
  2584.         when smfopt="S" then do
  2585.             call checkpath(sdlpath)
  2586.             if ~exists(sdlpath||username'.sdl') then call open(netset,sdlpath||username'.sdl','w')
  2587.             else do
  2588.                 newline;newline
  2589.                 queryn lang.303
  2590.                 if upper(result)="Y" then call open(netset,sdlpath||username'.sdl','a')
  2591.                 else call open(netset,sdlpath||username'.sdl','w')
  2592.             end
  2593.             newline;newline
  2594.             print grn||bld||lang.304
  2595.             do tdial=1 to words(markstring)
  2596.                 flnm=word(markstring,tdial)
  2597.                 call writeln(netset,areaofile.flnm' 'flnm' 'translate(translate(descofile.flnm,'­',' '),'º',d2c(10))' 'goar.flnm)
  2598.             end
  2599.             call close(netset)
  2600.             print lang.305
  2601.             newline
  2602.             continue
  2603.         end
  2604.         when smfopt="V" then signal resel
  2605.         otherwise nop
  2606.     end
  2607.     newline
  2608. end
  2609. newline
  2610. signal markemate
  2611.  
  2612. dltime:
  2613. parse arg fsize
  2614. if datatype(fsize)="NUM" then fsizeconv=fsize/1000
  2615. else do
  2616.     newline;newline
  2617.     print RED||lang.306
  2618.     newline
  2619.     fsize=0
  2620. end
  2621. poddy=pos('.',fsize/1000)
  2622. fsizeconv=fsize
  2623. lpart=00
  2624. if poddy>0 then fsizeconv=left(fsize/1000,poddy-1)
  2625. ttd=(fsize/(bpsrate/8))/60
  2626. seconds='00'
  2627. lpart=ttd
  2628. pod=pos('.',ttd)
  2629. if pod>0 then do
  2630.     rpart='0.'right(ttd,length(ttd)-pod)
  2631.     lpart=left(ttd,pod-1)
  2632.     if rpart<0.0166666 then seconds='01'
  2633.     else seconds=left((rpart/0.0166666),2)
  2634.     if right(Seconds,1)="." then seconds='0'left(seconds,1)
  2635.     if seconds>60 then do
  2636.         lpart=lpart+1
  2637.         seconds=seconds-60
  2638.     end
  2639. end
  2640. if length(lpart)=1 then lpart='0'lpart
  2641. return(lpart" "seconds)
  2642.  
  2643. morepro:
  2644. if buggeroff="BUGGEROFF" then buggeroff=0
  2645. if buggeroff=1 then return(4)
  2646. send CYN||BLD||lang.307||GRN'? 'YEL'Y'BLU'/'YEL'n'BLU'/'YEL'c'
  2647. bufferflush;gc
  2648. ming=upper(Result)
  2649. select
  2650.     when ming="N" then return(0)
  2651.     when ming="Y" then return(1)
  2652.     when ming="C" then do
  2653.         buggeroff=1
  2654.         return(2)
  2655.     end
  2656.     otherwise return(1)
  2657. end
  2658. return(3)
  2659.  
  2660. downer:
  2661. tip=upper(word(currfname.raw,1))
  2662. if mark.tip.goarea="Y" then send clr||RED||BLD
  2663. else send clr||col_file
  2664. if tailmark~=1 then send ''row'H'left(ansify(raw),93)
  2665. if row>(scrln+1) then return(1)
  2666. oldrow=row
  2667. row=row+1
  2668. raw=(start+row)-3
  2669. if left(Currfname.raw,1)="\" then do
  2670.     do until left(currfname.raw,1)~="\"|row=2
  2671.         if ~carrier then exit
  2672.         raw=(start+row)-3
  2673.         row=row+1
  2674.     end
  2675.     row=row-1
  2676.     if row>scrln+2 then do
  2677.         if tailmark=1 then row=oldrow
  2678.         return(1)
  2679.     end
  2680. end
  2681.  
  2682. return(0)
  2683.  
  2684. uppa:
  2685. if row<4 then do
  2686.     tip=upper(word(currfname.raw,1))
  2687.     if mark.tip.goarea="Y" then send clr||RED||BLD
  2688.     else send clr||col_file
  2689.     send ''row'H'left(ansify(raw),93)
  2690.     shutupbeavis=1
  2691.     row=scrln+2
  2692.     raw=(start+row)-3
  2693.     if left(Currfname.raw,1)="\" then do
  2694.         do until left(currfname.raw,1)~="\"|row=3
  2695.             if ~carrier then signal boomtown
  2696.             raw=(start+row)-3
  2697.             row=row-1
  2698.         end
  2699.         row=row+1
  2700.     end
  2701.     row=row+1
  2702. end
  2703. if shutupbeavis=0 then do
  2704.     tip=upper(word(currfname.raw,1))
  2705.     if mark.tip.goarea="Y" then send clr||RED||BLD
  2706.     else send clr||col_file
  2707.     send ''row'H'left(ansify(raw),93)
  2708. end
  2709. oldrow=row
  2710. row=row-1
  2711. raw=(start+row)-3
  2712. if left(currfname.raw,1)="\" then do
  2713.     do until left(currfname.raw,1)~="\"|row=1
  2714.         if ~carrier then signal boomtown
  2715.         raw=(start+row)-3
  2716.         row=row-1
  2717.     end
  2718.     if row<2&tailmark=0 then do
  2719.         row=scrln+2
  2720.         raw=(start+row)-3
  2721.         if left(Currfname.raw,1)="\" then do
  2722.             do until left(currfname.raw,1)~="\"|row=1
  2723.                 if ~carrier then exit
  2724.                 raw=(start+row)-3
  2725.                 row=row-1
  2726.             end
  2727.             row=row+1
  2728.         end
  2729.     end
  2730.     else row=row+1
  2731. end
  2732. return
  2733.  
  2734. qt:
  2735. /**** QT.rexx *****************************************************************
  2736. *
  2737. *    $VER: QT 2.01 (6.4.95)
  2738. *
  2739. *    Copyright © 1991-95 Klaus A Seistrup @ Magnetic Ink <kas@mink.ping.dk>
  2740. *
  2741. *******************************************************************************/
  2742.  
  2743. /* Respect to you Klaus from Stuart G :) */
  2744.  
  2745. Hr.0    = lang.308' '
  2746. Hr.1    = lang.309' '
  2747. Hr.2    = lang.310' '
  2748. Hr.3    = lang.311' '
  2749. Hr.4    = lang.312' '
  2750. Hr.5    = lang.313' '
  2751. Hr.6    = lang.314' '
  2752. Hr.7    = lang.315' '
  2753. Hr.8    = lang.316' '
  2754. Hr.9    = lang.317' '
  2755. Hr.10 = lang.318' '
  2756. Hr.11 = lang.319' '
  2757.  
  2758. Mn.0    = ''
  2759. Mn.1    = lang.320' '
  2760. Mn.2    = lang.321' '
  2761. Mn.3    = lang.322' '
  2762. Mn.4    = lang.323' '
  2763. Mn.5    = lang.324' '
  2764. Mn.6    = lang.325' '
  2765.  
  2766. Ny.0    = lang.326' '
  2767. Ny.1    = lang.327' '
  2768. Ny.2    = ''
  2769. Ny.3    = lang.328' '
  2770. Ny.4    = lang.329' '
  2771.  
  2772. Up.0    = lang.330' '
  2773. Up.1    = ''
  2774. Up.2    = lang.331' '
  2775.  
  2776. t        = (TIME('S') + 1650) % 60
  2777.  
  2778. Hrs    = (t % 60) // 12
  2779. Min    = t // 60
  2780. Alm    = Min // 5
  2781. Div    = (Min % 5) - 5
  2782. Upt    = SIGN(Div) + 1
  2783.  
  2784. IF Div < 0 THEN Div = -Div
  2785. OClock = lang.332" " || Ny.Alm || Mn.Div || Up.Upt || Hr.Hrs
  2786. IF Div == 0 THEN OClock = OClock || lang.333
  2787.  
  2788. return(right(OClock,40))
  2789.  
  2790. defcfg:
  2791. tailmark=0
  2792. lameacc=200
  2793. sysopmovetaxx=200
  2794. sysopdeltaxx=255
  2795. sysopcopytaxx=255
  2796. sysopterntaxx=255
  2797. sysopicetaxx=255
  2798. sysopnketaxx=255
  2799. sysoptchtaxx=255
  2800. sysopimptaxx=255
  2801. pltpath="BBS:Extras/FlistPalette/"
  2802. sdlpath="BBS:Extras/FlistSaveDL/"
  2803. pswpath="BBS:Extras/FlistPasswords/"
  2804. fpmpath="FILE:Fpm/"
  2805. tempath="T:FList/"
  2806. cfgpath="BBS:Configs/"
  2807. txtpath="BBS:Text/"
  2808. binpath="BBS:Bin/"
  2809. usrpath="BBS:Users/"
  2810. taversion="1.2g6"
  2811. defwait=1
  2812. col_file=wht
  2813. col_size=yel
  2814. col_date=blu
  2815. col_desc=cyn
  2816. col_bar=bblu
  2817. maxclock="ON"
  2818. scrlmethod=1
  2819. precommexe="Run <NIL: "
  2820. plugik="ON"
  2821. userhelp="ON"
  2822. helphim=5
  2823. areacomm="ON"
  2824. gopher=""
  2825. enlargemark="OFF"
  2826. flistcache="ON"
  2827. fpmopt="OFF"
  2828. assignoutput="[Mounted]"
  2829. mname.1="JAN"
  2830. mname.2="FEB"
  2831. mname.3="MAR"
  2832. mname.4="APR"
  2833. mname.5="MAY"
  2834. mname.6="JUN"
  2835. mname.7="JUL"
  2836. mname.8="AUG"
  2837. mname.9="SEP"
  2838. mname.10="OCT"
  2839. mname.11="NOV"
  2840. mname.12="DEC"
  2841. return
  2842.  
  2843. ansify: /* If this routine isn't highly-optimised to the MAXIMUM I'm the pope %) */
  2844. arg gangsta
  2845. if words(left(currfname.gangsta,23))>1 then if left(currfname.gangsta,1)~="\" then return('n/a                   'col_size'   0k 'col_date'!!-!!!-!! 'col_desc'[FList] Illegal, Filename contains space')
  2846. if words(currfname.gangsta)<3 then return('n/a                   'col_size'   0k 'col_date'!!-!!!-!! 'col_desc'[FList] Illegal, FILES.BBS entry invalid')
  2847. dyf=substr(currfname.gangsta,33,6)
  2848. mon=substr(dyf,3,2)
  2849. return(translate(left(currfname.gangsta,21)" "col_size||right(substr(currfname.gangsta,25,7)%1024+1"k",5)" "col_date||right(dyf,2)' 'geniushaha.mon' 'left(dyf,2)' 'col_desc||substr(currfname.gangsta,40,40),' ',d2c(9)))
  2850.  
  2851. tenf:
  2852. smeeegheed=1
  2853. do bigtenfour=start to start+(scrln-1)
  2854.     if ~carrier then exit
  2855.     if left(Currfname.bigtenfour,1)~="\"&bigtenfour~=bebob&bigtenfour~=1 then smeeegheed=0
  2856. end
  2857. if smeeegheed=1 then print ""scrln+7";0H"clr||kl
  2858. return
  2859.  
  2860. restip:
  2861. send clr""row"H"||col_file
  2862. tip=upper(word(currfname.raw,1))
  2863. if mark.tip.goarea="Y" then send RED||BLD
  2864. print left(ansify(raw),93)
  2865. if checkoffline=1&~exists(areapath||word(currfname.i,1)) then print "AC"RED||BLD||FSH||lang.334||clr
  2866. return
  2867.  
  2868. alertit:
  2869. parse arg ctu
  2870. send d2c(7)||clr
  2871. send ""scrln+7";0H"kl||ctu||GRN" - "clr
  2872. send bld||yel||lang.335||grn||lang.336||yel||lang.337
  2873. getchar
  2874. send clr""scrln+7";0H"kl
  2875. return
  2876.  
  2877. clearsarea:
  2878. arg amou
  2879. call open(sneakyout,tempath'goochi'bbsline,'w')
  2880. call writech(sneakyout,"H"clr)
  2881. glip=scrln
  2882. if datatype(amou)="NUM" then glip=amou
  2883. do glip
  2884.     call writeln(sneakyout,kl)
  2885. end
  2886. call writech(sneakyout,"H")
  2887. call close(sneakyout)
  2888. sendfile tempath"goochi"bbsline
  2889. address command 'delete "'tempath'goochi'bbsline'" >NIL:'
  2890. return
  2891.  
  2892. lloose:
  2893. parse arg werm
  2894. send ""scrln+4"H"kl||BLD||YEL||lang.338" "d2c(7)
  2895. print fsh||bld||blu'['yel||'HELP'blu'] 'clr||grn||bld||left(werm,63)
  2896. send ""scrln+4"H"BLD||YEL||lang.338" "
  2897. address command "wait 1 >NIL:"
  2898. return
  2899.  
  2900. boomtown:
  2901. address command 'Run >NIL: Delete "'tempath'~(#?MARKED#?)" FORCE >NIL:'
  2902. sl clr||bld"[FList] "ver$" "lang.339||clr
  2903. exit
  2904.  
  2905. break_C:
  2906. break_D:
  2907. break_E:
  2908. break_F:
  2909. return
  2910.  
  2911. CaseConvert:
  2912. arg conv_str
  2913. conv_str=translate(CONV_STR,Xrange('a','z'),Xrange('A','Z')) ; tmp=''
  2914. do a=1 to words(CONV_STR)
  2915.     if ~carrier then signal boomtown
  2916.     tmp=tmp||upper(left(word(CONV_STR,A),1))substr(word(CONV_STR,A),2)' '
  2917. end
  2918. CONV_STR=left(tmp,length(tmp)-1)
  2919. return(CONV_STR)
  2920.  
  2921. checkpath:
  2922. parse arg sock
  2923. if right(sock,1)="/" then sock=left(sock,length(sock)-1)
  2924. if ~exists(sock) then do
  2925.     sl "[FList] "sock" "lang.340
  2926.     address command 'makedir "'sock'" >NIL:'
  2927.     if ~exists(sock) then do
  2928.         newline
  2929.         print red||bld||lang.341||ubld
  2930.         newline
  2931.         sl "[FList] "sock" "lang.342
  2932.         continue
  2933.         signal boomtown
  2934.     end
  2935. end
  2936. return
  2937.  
  2938. spinwrite: /* This idea came to me one night in Manchester while sitting on
  2939.               the doorstep of an old persons home drinking many cans of
  2940.               Breaker =) - 5 Infact - I personally wouldn't reccomend
  2941.               drinking 5 cans of that vile shit %^) - Didn't get to house
  2942.               till 4:30am - Very, very pissed/sick =() */
  2943.  
  2944. send clr""scrln+7";0H"kl||pnk||bld||lang.343||ubld
  2945. call open(icelemonteaout,goarea,'w') /* Don't ask =:-) */
  2946. moodle=2
  2947. if areacomm="ON" then moodle=5
  2948. do yamma=moodle to bebob-1
  2949.     call writeln(icelemonteaout,currfname.yamma)
  2950.     if pos('.',yamma/5)=0 then do
  2951.         perc=((yamma*100)/(bebob-1))
  2952.         dol=pos('.',perc)
  2953.         if dol>0 then do
  2954.             byb=substr(perc,dol+1,1)
  2955.             perc=left(perc,dol-1)
  2956.             if byb>=5 then perc=perc+1
  2957.         end
  2958.         send "["right(perc,3,'0')"%]D"
  2959.     end
  2960. end
  2961. send ""scrln+7";0H"kl
  2962. call close(icelemonteaout)
  2963. Call Open(in,goarea,'R')
  2964. oldsize=seek(in,0,'E')
  2965. call close(in)
  2966. return
  2967.  
  2968. /* Mucho respect goes out to Jamie Prince for the original TrapGhost code! */
  2969. /* Works a treat m8 :) Thanks for fidning the rf's on fts standard and making */
  2970. /* This up */
  2971.  
  2972. trapghost:
  2973. parse arg '"'msgareapath'" "'filename'" "'fromname'" "'toname'" "'subject'"'
  2974. if right(msgareapath,1)~="/" then msgareapath=msgareapath'/'
  2975. address command 'list 'msgareapath'#?.msg files quick nohead >t:TrapGhost.temp'
  2976. call open(in,"t:trapghost.temp",r)
  2977. currenthigh=0
  2978. do while ~eof(in)
  2979.     data=readln(in)
  2980.     parse var data num'.'
  2981.     if num>currenthigh then currenthigh=num
  2982. end
  2983. call close(in)
  2984. currenthigh=currenthigh+1
  2985. fromname=fromname''copies(d2c(00),36-length(fromname))
  2986. toname  =toname''copies(d2c(00),36-length(toname))
  2987. subject =subject''copies(d2c(00),72-length(subject))
  2988. d1=date()
  2989. d2=word(d1,1)' 'word(d1,2)' '
  2990. d3=right(word(d1,3),2)
  2991. date=d2||d3'  'time()||d2c(00)
  2992. data=copies(d2c(00),23)||d2c(01)||copies(d2c(00),2)
  2993. VIA=d2c(01)" * Via FList "ver$" "lang.344" - (c) S.Gillibrand 1997 *"d2c(10)||d2c(13)||d2c(00)
  2994. open(ou,msgareapath''currenthigh'.msg',w)
  2995. call writech(ou,fromname''toname''subject''date''data)
  2996. open(in,filename,r)
  2997. do while ~eof(in)
  2998.     line=readln(in)
  2999.     call writech(ou,line''d2c(13))
  3000. end
  3001. call writech(ou,via)
  3002. call close(ou)
  3003. call close(in)
  3004. address command 'trump 'msgareapath' >NIL:'
  3005. call open(in,cfgpath'Message.Cfg','r')
  3006. dummy=readln(in)
  3007. do (dummy*6)+11;dum=readln(in);end
  3008. msgareas=readln(in)
  3009. do zelk=1 to msgareas
  3010.     dummy=readln(in)
  3011.     if upper(readln(in))=upper(tgmailpath) then leave
  3012.     do 10;dummy=readln(in);end
  3013. end
  3014. call close(in)
  3015. return
  3016.  
  3017. /* New area changing routines - 04/04/96 */
  3018.  
  3019. areachange:
  3020. if ~carrier then signal boomtown
  3021. sl "[FList] Changing File Area"
  3022. if ceedee_now=1 then signal cdareahandler
  3023. if extdev_now=1 then signal edevareahandler
  3024. pageno=1
  3025. send ""scrln+7";0H"
  3026. Prompt 4 'NORMAL' '"'clr||BLD||RED||lang.345' 'YEL'['GRN'X/Q'lang.162||lang.190', ? 'lang.346', > 'lang.347', < 'lang.348||YEL']'GRN': 'WHT'"'
  3027. fa=upper(result)
  3028.  
  3029. if fa="?" then do
  3030.     do until fa~="?"
  3031.         send clr
  3032.         cls
  3033.         if exists("BBS:Rexx/FList_Area.Trans") then do
  3034.             call 'BBS:Rexx/FList_Area.Trans'
  3035.             si '2'
  3036.             fa=result
  3037.         end
  3038.         else do
  3039.             if exists(txtpath"FileLibs."right(useraccess,3,'0'))|exists(txtpath"FileLibs."right(useraccess,3,'0')".ANSI") then sendfile txtpath"FileLibs."right(useraccess,3,'0')
  3040.             else if exists(txtpath"FileLibs."useraccess)|exists(txtpath"FileLibs."useraccess".ANSI") then sendfile txtpath"FileLibs."useraccess
  3041.             else if exists(txtpath"FileLibs.ANSI")|exists(txtpath"FileLibs") then sendfile txtpath"FileLibs"
  3042.             else listfileareas
  3043.             newline
  3044.             Prompt 4 'NORMAL' '"'clr||BLD||RED||lang.345' 'YEL'['GRN'X/Q'lang.162||lang.190', ? 'lang.346', > 'lang.347', < 'lang.348||YEL']'GRN': 'WHT'"'
  3045.             fa=upper(result)
  3046.         end
  3047.     end
  3048.     call redraw
  3049. end
  3050.  
  3051. si '2'
  3052. fanumb=result
  3053. if fa=">" then fa=fanumb+1
  3054. if fa="<"&fanumb>1 then fa=fanumb-1
  3055. if fa="X"|fa="Q" then signal markemate
  3056. if datatype(fa)~="NUM" then do
  3057.     call alertit(lang.349)
  3058.     fa=fanumb
  3059. end
  3060. if fa>areas|fa<1 then do
  3061.     call alertit(lang.350)
  3062.     fa=fanumb
  3063. end
  3064.  
  3065. send ""scrln+7";0H"
  3066.  
  3067. return(fa)
  3068.  
  3069. /* New area changing routines - 04/04/96 */
  3070.  
  3071. setarea:
  3072. arg an
  3073.  
  3074. si '2'
  3075. moocow=result
  3076.  
  3077. if extdir=1 then moocow="666" /* (8 */
  3078. extdir=0
  3079.  
  3080. detonator:
  3081.  
  3082. filearea an                                /* Set new file area */
  3083. if result~=1 then do                       /* Check for success */
  3084.     call maffair
  3085.     an=areachange()
  3086.     signal detonator
  3087. end
  3088. systeminfo 'z'
  3089. areaname=result                            /* Areaname */
  3090. areapath=apat.areaname                     /* Areapath */
  3091. sl "[FList] "lang.245": "an", "lang.351": "areaname /* Log It */
  3092.  
  3093. if pos('#'areapath'#',restrictACCESS.useraccess)>0|pos('#'areapath'#',restrictFLAGS.userflags)>0|pos('#'areapath'#',restrictACAGS.userflags.useraccess)>0 then do
  3094.     call maffair
  3095.     an=areachange()                        /* Is It Allowed By SysOp? */
  3096.     signal detonator
  3097. end
  3098.  
  3099. goarea=areapath'files.bbs'                 /* Define GO Variable */
  3100.  
  3101. if ~exists(goarea) then do                 /* oOps - Area Empty! */
  3102.     cls
  3103.     newline
  3104.     print RED||BLD||lang.352
  3105.     newline
  3106.     an=areachange()
  3107.     signal detonator
  3108. end
  3109.  
  3110. send ""scrln+7";0H"kl
  3111. if moocow~=an then call redraw(1)
  3112.  
  3113. call pragma('Directory',areapath)
  3114.  
  3115. return(an)
  3116.  
  3117. cdromhandler:
  3118. sl "[FList] "lang.353
  3119. ceedee_now=1
  3120. nast=0
  3121. send clr;cls
  3122. print kon||tbpliner
  3123. if ~open(in,cfgpath'FList.CDROM','r') then do
  3124.     newline
  3125.     print clr||red||fsh||bld||lang.354
  3126.     sl "[FList] "lang.355
  3127.     newline
  3128.     continue
  3129.     signal markemate
  3130. end
  3131. print clr||bblu||bld||cyn||left("FList CDRom SubSystem",78)||clr
  3132. newline
  3133. print grn||bld||lang.356
  3134. cds=0
  3135. do 12
  3136.     cac=readln(in)
  3137. end
  3138. do until eof(in)
  3139.     cds=cds+1
  3140.     cdesc.cds=readln(in)
  3141.     cpath.cds=readln(in)
  3142.     cacfg.cds=readln(in)
  3143.     cansi.cds=readln(in)
  3144.     caxxs.cds=readln(in)
  3145.     cflag.cds=readln(in)
  3146. end
  3147. call close(in)
  3148. cds=cds-1
  3149. send "A"
  3150. do i=1 to cds
  3151.     address command 'assign "'cpath.i'" exists >'tempath'FListCd.Tmp'bbsline
  3152.     call open(in,tempath'FListCd.Tmp'bbsline,'r')
  3153.     shite=readln(in)
  3154.     call close(in)
  3155.     if pos(assignoutput,shite)=0 then status.i=lang.357
  3156.     else status.i=lang.358
  3157.     nast=0
  3158.     do z=1 to 8
  3159.         if substr(cflag.i,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3160.     end
  3161.     if useraccess>=caxxs.i&nast=0 then print bld||yel"["right(i,3,'0')"] "red||left(cdesc.i,64)" "pnk||status.i||clr
  3162.     else print bld||yel"["right(i,3,'0')"] "ubld||red||left(lang.31,64)" "bld||pnk||status.i||clr
  3163. end
  3164. do 2;newline;end
  3165. do until datatype(cdselect)="NUM"&cdselect>0&cdselect<=cds
  3166.     if ~carrier then signal boomtown
  3167.     prompt length(cds) 'NORMAL' '"'bblu'A'left(' ',78)'D'yel||bld||lang.359' 'pnk'['grn'Q'lang.162||lang.190', ?'lang.162||lang.360||pnk']'yel': 'wht'"'
  3168.     cdselect=upper(result)
  3169.     send clr
  3170.     newline
  3171.     if cdselect="?" then signal cdromhandler
  3172.     if cdselect="Q" then do
  3173.         ceedee_now=0
  3174.         return
  3175.     end
  3176. end
  3177. sl "[FList] "lang.361||cdselect" - {"cdesc.cdselect"}"
  3178. nast=0
  3179. do z=1 to 8
  3180.     if substr(cflag.cdselect,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3181. end
  3182. if useraccess<caxxs.cdselect|nast=1 then do
  3183.     newline
  3184.     print clr||red||lang.362||clr
  3185.     sl" [FList] "lang.363
  3186.     newline
  3187.     continue
  3188.     signal cdromhandler
  3189. end
  3190. if status.cdselect~=lang.358 then do
  3191.     newline
  3192.     print clr||red||bld||lang.364
  3193.     sl "[FList] "lang.365
  3194.     newline
  3195.     continue
  3196.     signal cdromhandler
  3197. end
  3198. if ~open(in,cacfg.cdselect,'r') then do
  3199.     newline
  3200.     print red||lang.366' - Please Inform The SysOp :('clr
  3201.     sl "[FList] "lang.366
  3202.     newline
  3203.     continue
  3204.     signal cdromhandler
  3205. end
  3206. do 12
  3207.     cac=readln(in)
  3208. end
  3209. cdareas=readln(in)
  3210. send clr;cls
  3211. newline
  3212. print grn||bld||lang.356
  3213. newline
  3214. call open(Out,tempath'jinx'bbsline,'w')
  3215. call writeln(out,'H')
  3216. call writeln(out,kl||kon||tbpliner)
  3217. call writeln(out,'')
  3218. call writeln(Out,clr||bblu||bld||cyn||left("FList CDRom SubSystem - "cdesc.cds,78)||clr)
  3219. call writeln(out,'')
  3220. do i=1 to cdareas
  3221.     cdareaname.i=readln(in)
  3222.     cdarealist.i=readln(in)
  3223.     cdareapath.i=readln(in)
  3224.     cdaccess.i=readln(in)
  3225.     cdflags.i=readln(in)
  3226.     nast=0
  3227.     do z=1 to 8
  3228.         if substr(cdflags.i,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3229.     end
  3230.     if compress(cansi.cdselect)="" then do
  3231.         if useraccess>=cdaccess.i&nast=0 then call writech(out,bld||yel||right(i,3,'0')" "red||left(cdareaname.i,35))
  3232.         else call writech(out,bld||yel||right(i,3,'0')" "ubld||red||left(lang.31,35))
  3233.     end
  3234.     i=i+1
  3235.     if i>cdareas then leave
  3236.     cdareaname.i=readln(in)
  3237.     cdarealist.i=readln(in)
  3238.     cdareapath.i=readln(in)
  3239.     cdaccess.i=readln(in)
  3240.     cdflags.i=readln(in)
  3241.     nat=0
  3242.     do z=1 to 8
  3243.         if substr(cdflags.i,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3244.     end
  3245.     if compress(cansi.cdselect)="" then do
  3246.         if useraccess>=cdaccess.i&nast=0 then call writeln(out," "bld||yel||right(i,3,'0')" "red||left(cdareaname.i,34))
  3247.         else call writeln(out," "bld||yel||right(i,3,'0')" "ubld||red||left(lang.31,34))
  3248.     end
  3249. end
  3250. call writeln(out,'')
  3251. call close(in)
  3252. call close(out)
  3253.  
  3254. if compress(cansi.cdselect)~="" then address command 'copy "'cansi.cdselect'" "'tempath'jinx'bbsline'" noreq >NIL:'
  3255.  
  3256. cdareahandler:
  3257. do until datatype(areaselect)="NUM"&areaselect>0&areaselect<=cdareas
  3258.     if ~carrier then signal boomtown
  3259.     sendfile tempath'jinx'bbsline
  3260.     newline;newline
  3261.     prompt length(cdareas) 'NORMAL' '"'bblu'A'left(' ',78)'D'bld||grn||left(cdesc.cds,50)||yel||lang.367' 'pnk'['grn'Q'lang.162||lang.190||pnk']'yel': 'wht'"'
  3262.     areaselect=upper(result)
  3263.     send clr
  3264.     newline
  3265.     if areaselect="Q" then signal cdromhandler
  3266. end
  3267. sl "[FList] "lang.368||areaselect" - {"cdareaname.areaselect"}"
  3268. nast=0
  3269. do z=1 to 8
  3270.     if substr(cdflags.areaselect,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3271. end
  3272. if useraccess<cdaccess.areaselect|nast=1 then do
  3273.     newline
  3274.     print clr||red||lang.369||clr
  3275.     sl" [FList] "lang.370
  3276.     newline
  3277.     continue
  3278.     signal cdareahandler
  3279. end
  3280. if ~exists(cdarealist.areaselect) then do
  3281.     newline
  3282.     print clr||red||lang.371||clr
  3283.     sl" [FList] "lang.372
  3284.     newline
  3285.     continue
  3286.     signal cdareahandler
  3287. end
  3288. extdir=1
  3289. goarea=cdarealist.areaselect
  3290. areapath=cdareapath.areaselect
  3291. zeon=zeon+1
  3292. farea=zeon
  3293. npat.zeon=areapath
  3294. areaname="[CD] "cdareaname.areaselect
  3295. call redraw
  3296. call pragma('Directory',cpath.cdselect)
  3297. pageno=1
  3298. signal fscroller
  3299. exit
  3300.  
  3301. louise_sleeper:
  3302. row=3
  3303. raw=(start+row)-3
  3304. if left(Currfname.raw,1)="\" then do
  3305.     do until left(currfname.raw,1)~="\"
  3306.         if ~carrier then signal boomtown
  3307.         raw=(start+row)-3
  3308.         row=row+1
  3309.         if row<3 then leave
  3310.     end
  3311.     row=row-1
  3312.     if row<3 then row=oldrow
  3313. end
  3314. return
  3315.  
  3316. submark:
  3317. arg raw
  3318. nareapath=areapath
  3319. if pos(word(currfname.raw,1),markstring)>0 then do
  3320.     markstring=delstr(markstring,pos(word(currfname.raw,1),markstring),length(word(currfname.raw,1)))
  3321.     mkf=mkf-1
  3322.     tip=upper(word(currfname.raw,1))
  3323.     mark.tip.goarea="N"
  3324.     send BBLU||BLD||WHT""row"H"left(ansify(raw),93)
  3325.     unmarkfile word(currfname.raw,1)
  3326.     defmodule="ON!"
  3327.     sl "[FList] "lang.373" ["word(currfname.raw,1)"]"
  3328. end
  3329. if pos(word(currfname.raw,1),markstring)=0&defmodule~="ON!" then do
  3330.     sl "[FList] "lang.374" ["word(currfname.raw,1)"]"
  3331.     ftmark=word(currfname.raw,1)
  3332.     if extdir>0 then do
  3333.         if ~exists("file:flist/"ftmark) then do
  3334.             print clr||bld||yel||bblu||left(lang.375,57)
  3335.             address command 'Copy "'npat.zeon||ftmark'" file:flist noreq >NIL:'
  3336.         end
  3337.     end
  3338.     if mkf>=maxmark then do
  3339.         call alertit(clr||RED||BLD||lang.376)
  3340.         sl "[FList] "lang.377
  3341.         return
  3342.     end
  3343.     if mkf>=bian then do
  3344.         call alertit(clr||RED||BLD||lang.378)
  3345.         sl "[FList] "lang.379
  3346.         return
  3347.     end
  3348.     markstring=markstring||ftmark' '
  3349.     golfball=upper(ftmark)
  3350.     if extdir>0 then jam.buttie.golfball="Don't Even Ask :-)"
  3351.     mkf=mkf+1
  3352.     milestone=golfball
  3353.     if length(currfname.raw)>80 then do
  3354.         zeon=zeon+1
  3355.         areaofile.milestone=zeon
  3356.         npat.zeon=substr(currfname.raw,80)
  3357.         if ~exists("file:flist/"ftmark) then do
  3358.             print clr||bld||yel||bblu||left(lang.375,57)
  3359.             address command 'Copy "'npat.zeon||ftmark'" file:flist noreq >NIL:'
  3360.         end
  3361.     end
  3362.     else areaofile.milestone=farea
  3363.     goar.milestone=goarea
  3364.     descofile.milestone=substr(currfname.raw,40,40)
  3365.     cap=raw+1
  3366.     data="\"
  3367.     if strip(upper(descofile.milestone),'T')="FILE_ID.DIZ DESCRIPTION" then do
  3368.         do until left(data,1)~="\"
  3369.             data=currfname.cap
  3370.             if left(data,1)="\" then descofile.milestone=descofile.milestone'º                      'substr(currfname.cap,35,45)
  3371.             if cap=bebob then data=""
  3372.             cap=cap+1
  3373.         end
  3374.     end
  3375.     mark.golfball.goarea="Y"
  3376.     sl "[FList] "lang.380" ["ftmark"]"
  3377.     send BBLU||BLD||RED''row'H'left(ansify(raw),93)
  3378. end
  3379.  
  3380. defmodule="OFF NOW SAID SHITSU!"
  3381. send clr"A2H"GRN||lang.154||WHT||mkf" "
  3382.  
  3383. return
  3384.  
  3385. edevhandler:
  3386. sl "[FList] "lang.381
  3387. extdev_now=1
  3388. nast=0
  3389. send clr;cls
  3390. print kon||tbpliner
  3391. if ~open(in,cfgpath'FList.ED','r') then do
  3392.     newline
  3393.     print clr||red||fsh||bld||lang.382
  3394.     sl "[FList] "lang.383
  3395.     newline
  3396.     continue
  3397.     signal markemate
  3398. end
  3399. print clr||bblu||bld||cyn||left("FList ExtDev SubSystem",78)||clr
  3400. newline
  3401. print grn||bld||lang.356
  3402. eds=0
  3403. do 12
  3404.     cac=readln(in)
  3405. end
  3406. do until eof(in)
  3407.     eds=eds+1
  3408.     edesc.eds=readln(in)
  3409.     epath.eds=readln(in)
  3410.     eacfg.eds=readln(in)
  3411.     eansi.eds=readln(in)
  3412.     eaxxs.eds=readln(in)
  3413.     eflag.eds=readln(in)
  3414. end
  3415. call close(in)
  3416. eds=eds-1
  3417. send "A"
  3418. do i=1 to eds
  3419.     address command 'assign "'epath.i'" exists >'tempath'FListEd.Tmp'bbsline
  3420.     call open(in,tempath'FListEd.Tmp'bbsline,'r')
  3421.     shite=readln(in)
  3422.     call close(in)
  3423.     if pos(assignoutput,shite)=0 then status.i="Offline"
  3424.     else status.i="Online"
  3425.     nast=0
  3426.     do z=1 to 8
  3427.         if substr(eflag.i,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3428.     end
  3429.     if useraccess>=eaxxs.i&nast=0 then print bld||yel"["right(i,3,'0')"] "red||left(edesc.i,64)" "pnk||status.i||clr
  3430.     else print bld||yel"["right(i,3,'0')"] "ubld||red||left(lang.31,64)" "bld||pnk||status.i||clr
  3431. end
  3432. do 2;newline;end
  3433. do until datatype(edselect)="NUM"&edselect>0&edselect<=eds
  3434.     if ~carrier then signal boomtown
  3435.     prompt length(eds) 'NORMAL' '"'bblu'A'left(' ',78)'D'yel||bld||lang.384' 'pnk'['grn'Q'lang.162||lang.190', ?'lang.162||lang.360||pnk']'yel': 'wht'"'
  3436.     edselect=upper(result)
  3437.     send clr
  3438.     newline
  3439.     if edselect="?" then signal edevhandler
  3440.     if edselect="Q" then do
  3441.         extdev_now=0
  3442.         return
  3443.     end
  3444. end
  3445. sl "[FList] "lang.385||edselect" - {"edesc.edselect"}"
  3446. nast=0
  3447. do z=1 to 8
  3448.     if substr(eflag.edselect,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3449. end
  3450. if useraccess<eaxxs.edselect|nast=1 then do
  3451.     newline
  3452.     print clr||red||lang.386||clr
  3453.     sl" [FList] "lang.387
  3454.     newline
  3455.     continue
  3456.     signal edevhandler
  3457. end
  3458. if status.edselect~="Online" then do
  3459.     newline
  3460.     print clr||red||bld||lang.388
  3461.     sl "[FList] "lang.389
  3462.     newline
  3463.     continue
  3464.     signal edevhandler
  3465. end
  3466. if ~open(in,eacfg.edselect,'r') then do
  3467.     newline
  3468.     print red||lang.390||clr
  3469.     sl "[FList] "lang.391
  3470.     newline
  3471.     continue
  3472.     signal edevhandler
  3473. end
  3474. do 12
  3475.     cac=readln(in)
  3476. end
  3477. edareas=readln(in)
  3478. send clr;cls
  3479. newline
  3480. print grn||bld||lang.356
  3481. newline
  3482. call open(Out,tempath'jinx'bbsline,'w')
  3483. call writeln(out,'H')
  3484. call writeln(out,kl||kon||tbpliner)
  3485. call writeln(out,'')
  3486. call writeln(Out,clr||bblu||bld||cyn||left("FList EDev SubSystem - "edesc.eds,78)||clr)
  3487. call writeln(out,'')
  3488. do i=1 to edareas
  3489.     edareaname.i=readln(in)
  3490.     edarealist.i=readln(in)
  3491.     edareapath.i=readln(in)
  3492.     edaccess.i=readln(in)
  3493.     edflags.i=readln(in)
  3494.     nast=0
  3495.     do z=1 to 8
  3496.         if substr(edflags.i,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3497.     end
  3498.     if compress(eansi.edselect)="" then do
  3499.         if useraccess>=edaccess.i&nast=0 then call writech(out,bld||yel||right(i,3,'0')" "red||left(edareaname.i,35))
  3500.         else call writech(out,bld||yel||right(i,3,'0')" "ubld||red||left(lang.31,35))
  3501.     end
  3502.     i=i+1
  3503.     if i>edareas then leave
  3504.     edareaname.i=readln(in)
  3505.     edarealist.i=readln(in)
  3506.     edareapath.i=readln(in)
  3507.     edaccess.i=readln(in)
  3508.     edflags.i=readln(in)
  3509.     nat=0
  3510.     do z=1 to 8
  3511.         if substr(edflags.i,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3512.     end
  3513.     if compress(eansi.edselect)="" then do
  3514.         if useraccess>=edaccess.i&nast=0 then call writeln(out," "bld||yel||right(i,3,'0')" "red||left(edareaname.i,34))
  3515.         else call writeln(out," "bld||yel||right(i,3,'0')" "ubld||red||left(lang.31,34))
  3516.     end
  3517. end
  3518. call writeln(out,'')
  3519. call close(in)
  3520. call close(out)
  3521.  
  3522. if compress(cansi.edselect)~="" then address command 'copy "'cansi.edselect'" "'tempath'jinx'bbsline'" noreq >NIL:'
  3523.  
  3524. edevareahandler:
  3525. do until datatype(areaselect)="NUM"&areaselect>0&areaselect<=edareas
  3526.     if ~carrier then signal boomtown
  3527.     sendfile tempath'jinx'bbsline
  3528.     newline;newline
  3529.     prompt length(edareas) 'NORMAL' '"'bblu'A'left(' ',78)'D'bld||grn||left(edesc.eds,50)||yel||lang.367' 'pnk'['grn'Q'lang.162||lang.190||pnk']'yel': 'wht'"'
  3530.     areaselect=upper(result)
  3531.     send clr
  3532.     newline
  3533.     if areaselect="Q" then signal edevhandler
  3534. end
  3535. sl "[FList] "lang.392||areaselect" - {"edareaname.areaselect"}"
  3536. nast=0
  3537. do z=1 to 8
  3538.     if substr(edflags.areaselect,z,1)="X"&substr(userflags,z,1)~="X" then nast=1
  3539. end
  3540. if useraccess<edaccess.areaselect|nast=1 then do
  3541.     newline
  3542.     print clr||red||lang.369||clr
  3543.     sl" [FList] "lang.370
  3544.     newline
  3545.     continue
  3546.     signal edevareahandler
  3547. end
  3548. if ~exists(edarealist.areaselect) then do
  3549.     newline
  3550.     print clr||red||lang.371||clr
  3551.     sl" [FList] "lang.372
  3552.     newline
  3553.     continue
  3554.     signal edevareahandler
  3555. end
  3556. extdir=1
  3557. goarea=edarealist.areaselect
  3558. areapath=edareapath.areaselect
  3559. zeon=zeon+1
  3560. farea=zeon
  3561. npat.zeon=areapath
  3562. areaname="[ED] "edareaname.areaselect
  3563. call redraw
  3564. call pragma('Directory',epath.edselect)
  3565. pageno=1
  3566. signal fscroller
  3567. exit
  3568.  
  3569. flick:
  3570. send ""scrln+7";0H"
  3571. send clr||bld||red||lang.393" "cyn"("yel"R"cyn")"grn||lang.394", "cyn"("yel'8/'lang.395||cyn")"grn" "lang.396", "cyn"("yel"2/"lang.397||cyn")"grn" "lang.398" "wht||fsh"::> "clr
  3572. do until flickopt="R"|c2d(flickopt)=13
  3573.     getchar;flickopt=upper(result)
  3574.     If flickopt = '9b'x | flickopt='5B'x then Do
  3575.         maygetchar ; Tmp = result
  3576.         If Tmp = 'A' then flickopt='8'
  3577.         If Tmp = 'B' then flickopt='2'
  3578.         If Tmp = 'C' then flickopt='6'
  3579.         If Tmp = 'D' then flickopt='4'
  3580.     End
  3581.     if flickopt='6' then do 2;call flickdn;end
  3582.     if flickopt='2' then call flickdn
  3583.     if flickopt='4' then do 2;call flickup;end
  3584.     if flickopt='8' then call flickup
  3585.     send clr||bld""scrln+3"H"col_bar||red"C["grn||right(pageno,length(pages),'0')||WHT"/"YEL||pages||red"]"clr
  3586. end
  3587. send ""scrln+7";0H"kl
  3588. call scroll
  3589. return
  3590.  
  3591. flickdn:
  3592. if pageno<pages then do
  3593.     pageno=pageno+1
  3594.     if pageno=pages then start=bebob-(scrln-1)
  3595.     else start=start+scrln
  3596. end
  3597. return
  3598.  
  3599. flickup:
  3600. if pageno>1 then do
  3601.     if start-scrln<1 then start=scrln+1
  3602.     pageno=pageno-1
  3603.     start=start-scrln
  3604. end
  3605. return
  3606.  
  3607.  
  3608. touch:
  3609. if compress(markstring)="" then do;call alertit(RED||BLD||lang.152);return;end
  3610.  
  3611. comeback=customquest(lang.426)
  3612. if upper(comeback)~="Y" then return
  3613.  
  3614. print ""scrln+4"H"kl
  3615. send ""scrln+4"H"BLD||WHT||lang.399" "clr
  3616. do words(markstring)
  3617.     send "."
  3618. end
  3619.  
  3620. do pork=1 to words(markstring)
  3621.     vthing=upper(word(markstring,pork))
  3622.     send ""scrln+4";"pork+10"H"clr||bld||red"o"
  3623.     mkf=mkf-1
  3624.     gulp=goar.vthing
  3625.     mark.vthing.gulp="N"
  3626.     send clr"A2H"GRN||lang.154" "WHT||mkf" "
  3627.     do cheese=2 to bebob-1
  3628.         if upper(word(currfname.cheese,1))=vthing then do
  3629.             dte=date()
  3630.             clever=upper(substr(dte,4,3))
  3631.             select
  3632.                 when clever=mname.1 then magnet='01'
  3633.                 when clever=mname.2 then magnet='02'
  3634.                 when clever=mname.3 then magnet='03'
  3635.                 when clever=mname.4 then magnet='04'
  3636.                 when clever=mname.5 then magnet='05'
  3637.                 when clever=mname.6 then magnet='06'
  3638.                 when clever=mname.7 then magnet='07'
  3639.                 when clever=mname.8 then magnet='08'
  3640.                 when clever=mname.9 then magnet='09'
  3641.                 when clever=mname.10 then magnet='10'
  3642.                 when clever=mname.11 then magnet='11'
  3643.                 when clever=mname.12 then magnet='12'
  3644.                 otherwise magnet='01'
  3645.             end
  3646.             currfname.cheese=left(currfname.cheese,32)||right(dte,2)||magnet||left(dte,2)||substr(currfname.cheese,39)
  3647.         end
  3648.     end
  3649.     send ""scrln+4";"pork+10"H"clr||bld||red"O"
  3650. end
  3651. mkf=0
  3652.  
  3653. comeback=customquest(lang.427)
  3654. if upper(comeback)~="Y" then call sdoubleudoublev
  3655. else markstring=""
  3656.  
  3657. send clr"A2H"GRN||lang.154||WHT||mkf" "
  3658. call spinwrite
  3659. call scroll
  3660. return
  3661.  
  3662. dimport:
  3663.  
  3664. dimpath=areapath
  3665.  
  3666. send ""scrln+7";0H"kl
  3667. send ""scrln+7";0H"clr||bld||yel"("cyn"I"yel")"grn||lang.400"  "yel"("cyn"U"yel")"grn||lang.401||wht"  ::> "
  3668. getchar
  3669.  
  3670. if upper(result)="U" then do
  3671. send ""scrln+7";0H"kl
  3672.     query ""scrln+7";0H"YEL||lang.264" "cyn"\\Ram:"
  3673.     dimpath=result
  3674. end
  3675.  
  3676. send ""scrln+7";0H"kl
  3677. query ""scrln+7";0H"YEL||lang.402" "cyn"\\~(.message)"
  3678. expat=result
  3679. if upper(expat)="RESULT" then expat='#?'
  3680.  
  3681. send ""scrln+7";0H"kl
  3682. send ""scrln+7";0H"clr||red||lang.403" "bld||lang.405||ubld" "lang.404" "yel||bld
  3683.  
  3684. olay=''
  3685. do lazy=2 to bebob-1
  3686.     zagga=upper(word(currfname.lazy,1))
  3687.     olay=olay'­'zagga'­'
  3688. end
  3689.  
  3690. print "Done."
  3691.  
  3692. call clearsarea
  3693.  
  3694. send ""scrln+7";0H"kl
  3695. send ""scrln+7";0H"clr||red||lang.403" "bld||lang.406||ubld" "lang.404" "yel||bld
  3696.  
  3697. address command 'list files "'dimpath'~(#?.desc|files.bbs)" quick nohead pat="'expat'" lformat "%s" >"'tempath'dimport"'
  3698.  
  3699. send ""scrln+7";0H"kl
  3700. send ""scrln+7";0H"clr||red||lang.407" "bld||lang.408||ubld" "lang.409||yel||bld
  3701.  
  3702. /*if right(dimpath,1)="/" then dimpath=left(dimpath,length(dimpath)-1)*/
  3703.  
  3704. call open(dim,tempath'dimport','r')
  3705. do until eof(dim)
  3706.     data=upper(readln(dim))
  3707.     gotit=0
  3708.     if pos('­'data'­',olay)=0 then do
  3709.         if ~open(impf,dimpath||data,'r') then impsize="Unknown"
  3710.         else do
  3711.             impsize=seek(impf,0,'E')
  3712.             call close(impf)
  3713.         end
  3714.         send ""scrln+7";0H"kl
  3715.         send ""scrln+7";0H"clr||cyn||bld||data||grn" ("ubld||impsize" "lang.91||bld") "wht": "yel"("cyn"I"yel")"grn||lang.410" "yel"("cyn"S"yel")"grn||lang.411" "yel"("cyn"D"yel")"grn||lang.412" "yel"("cyn"A"yel")"grn||lang.413||wht" ::> "
  3716.         getchar
  3717.         if upper(result)="A" then do
  3718.             call close(dim)
  3719.             call reloadfiles
  3720.             call scroll
  3721.             return
  3722.         end
  3723.         if upper(result)="I" then do
  3724.             do m=1 to 15
  3725.                 send ""scrln+7";0H"kl
  3726.                 send clr||pnk||bld||lang.414" ("ubld||lang.415||bld") "cyn||m||clr"/"bld||cyn"15 "
  3727.                 prompt 40 'NORMAL' '"'clr||bblu||bld||wht'                                        D"'
  3728.                 impdesc.m=result
  3729.                 send clr
  3730.                 if upper(impdesc.m)="RESULT" then do;m=m-1;leave m;end
  3731.             end
  3732.             send ""scrln+7";0H"kl
  3733.             send ""scrln+7";0H"clr||bld||yel||m" "lang.416
  3734.             if open(fbout,areapath'files.bbs','a') then nop
  3735.             else call open(fbout,areapath'files.bbs','w')
  3736.             dte=date()
  3737.             clever=upper(substr(dte,4,3))
  3738.             select
  3739.                 when clever=mname.1 then magnet='01'
  3740.                 when clever=mname.2 then magnet='02'
  3741.                 when clever=mname.3 then magnet='03'
  3742.                 when clever=mname.4 then magnet='04'
  3743.                 when clever=mname.5 then magnet='05'
  3744.                 when clever=mname.6 then magnet='06'
  3745.                 when clever=mname.7 then magnet='07'
  3746.                 when clever=mname.8 then magnet='08'
  3747.                 when clever=mname.9 then magnet='09'
  3748.                 when clever=mname.10 then magnet='10'
  3749.                 when clever=mname.11 then magnet='11'
  3750.                 when clever=mname.12 then magnet='12'
  3751.                 otherwise magnet='01'
  3752.             end
  3753.             if m=1 then call writeln(fbout,left(data,23)' 'right(impsize,7)' 'right(dte,2)||magnet||left(dte,2)' 'impdesc.1)
  3754.             else do
  3755.                 call writeln(fbout,left(data,23)' 'right(impsize,7)' 'right(dte,2)||magnet||left(dte,2)' File_ID.DIZ description')
  3756.                 do n=1 to m
  3757.                     call writeln(fbout,'\'copies(' ',38)||impdesc.n)
  3758.                 end
  3759.             end
  3760.             call close(fbout)
  3761.             call open(dfout,areapath||data'.desc','w')
  3762.             call writeln(dfout,username)
  3763.             call close(dfout)
  3764.             address command 'filenote "'areapath||data'" "'impdesc.1'" >NIL:'
  3765.         end
  3766.         else if upper(result)="D" then do
  3767.             send ""scrln+7";0H"kl
  3768.             send ""scrln+7";0H"clr||red||bld||lang.417||yel
  3769.             address command 'delete "'dimpath||data'" >NIL:'
  3770.             print lang.418
  3771.         end
  3772.         send ""scrln+7";0H"kl
  3773.         send ""scrln+7";0H"clr||red||lang.407" "bld||lang.408||ubld" "lang.409||yel||bld
  3774.     end
  3775. end
  3776. call close(dim)
  3777. call alertit(clr||red||bld||lang.419)
  3778. call reloadfiles
  3779. call scroll
  3780. return
  3781.  
  3782. customquest:
  3783. parse arg custhom
  3784. send YEL""scrln+7";0H"kl||clr||bld||pnk||custhom" "grn"y"blu"/"red"N "wht||fsh"::> "clr||CYN
  3785. getchar
  3786. sculder=result
  3787. send YEL""scrln+7";0H"kl
  3788. return(sculder)
  3789.  
  3790. sdoubleudoublev:
  3791. mkf=words(markstring)
  3792. do sisters=1 to mkf
  3793.     voice=upper(word(markstring,sisters))
  3794.     ger=goar.voice
  3795.     mark.voice.ger="Y"
  3796. end
  3797. return
  3798.